<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[bin verwirrt wegen typen usw]]></title><description><![CDATA[<p>hallo</p>
<p>nach langem suchen habe ich einen fehler auf diesen codeabschnitt (nachgestellt) eingrenzen können:</p>
<pre><code>#include &lt;iostream&gt;
template&lt;typename Lhs, typename Rhs&gt;
struct Match
{
	static const bool Value = false;
};
template&lt;typename T&gt;
struct Match&lt;T, T&gt;
{
	static const bool Value = true;
};
template&lt;typename T&gt;
struct IsUS
{
	static const bool Value = Match&lt;T, unsigned short int&gt;::Value;
};
template&lt;typename T&gt;
struct IsUL
{
	static const bool Value = Match&lt;T, unsigned long int&gt;::Value;
};
template&lt;typename T&gt;
struct IsSS
{
	static const bool Value = Match&lt;T, signed short int&gt;::Value;
};
template&lt;typename T&gt;
struct IsSL
{
	static const bool Value = Match&lt;T, signed long int&gt;::Value;
};
template&lt;typename T&gt;
struct IsInt
{
	static const bool Value = IsUS&lt;T&gt;::Value || IsUL&lt;T&gt;::Value || IsSS&lt;T&gt;::Value || IsSL&lt;T&gt;::Value;
};
int main()
{
	std::cout &lt;&lt; std::boolalpha;
	std::cout &lt;&lt; IsInt&lt;int&gt;::Value;
}
</code></pre>
<p>output:</p>
<pre><code>false
</code></pre>
<p>link: <a href="http://ideone.com/5uH74D" rel="nofollow">http://ideone.com/5uH74D</a></p>
<p>wieso ist das so? ein int muss ja entweder us, ul, ss oder sl sein also muss das doch irgendwo true sein...</p>
<p>gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/322093/bin-verwirrt-wegen-typen-usw</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 10:10:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322093.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Dec 2013 08:57:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bin verwirrt wegen typen usw on Fri, 06 Dec 2013 08:57:52 GMT]]></title><description><![CDATA[<p>hallo</p>
<p>nach langem suchen habe ich einen fehler auf diesen codeabschnitt (nachgestellt) eingrenzen können:</p>
<pre><code>#include &lt;iostream&gt;
template&lt;typename Lhs, typename Rhs&gt;
struct Match
{
	static const bool Value = false;
};
template&lt;typename T&gt;
struct Match&lt;T, T&gt;
{
	static const bool Value = true;
};
template&lt;typename T&gt;
struct IsUS
{
	static const bool Value = Match&lt;T, unsigned short int&gt;::Value;
};
template&lt;typename T&gt;
struct IsUL
{
	static const bool Value = Match&lt;T, unsigned long int&gt;::Value;
};
template&lt;typename T&gt;
struct IsSS
{
	static const bool Value = Match&lt;T, signed short int&gt;::Value;
};
template&lt;typename T&gt;
struct IsSL
{
	static const bool Value = Match&lt;T, signed long int&gt;::Value;
};
template&lt;typename T&gt;
struct IsInt
{
	static const bool Value = IsUS&lt;T&gt;::Value || IsUL&lt;T&gt;::Value || IsSS&lt;T&gt;::Value || IsSL&lt;T&gt;::Value;
};
int main()
{
	std::cout &lt;&lt; std::boolalpha;
	std::cout &lt;&lt; IsInt&lt;int&gt;::Value;
}
</code></pre>
<p>output:</p>
<pre><code>false
</code></pre>
<p>link: <a href="http://ideone.com/5uH74D" rel="nofollow">http://ideone.com/5uH74D</a></p>
<p>wieso ist das so? ein int muss ja entweder us, ul, ss oder sl sein also muss das doch irgendwo true sein...</p>
<p>gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370140</guid><dc:creator><![CDATA[asdfsdf]]></dc:creator><pubDate>Fri, 06 Dec 2013 08:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to bin verwirrt wegen typen usw on Fri, 06 Dec 2013 09:07:07 GMT]]></title><description><![CDATA[<p>asdfsdf schrieb:</p>
<blockquote>
<p>wieso ist das so? ein int muss ja entweder us, ul, ss oder sl sein also muss das doch irgendwo true sein...</p>
</blockquote>
<p>Nein, wie kommst du da drauf? Selbst char und signed/unsigned char sind schon verschiedene Typen, aber int und short bzw. long haben doch völlig andere Wertebereiche, wie sollten die jemals gleich sein? Wenn du <em>signed</em> int schreibst, sollte dieser gleich int sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370142</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 06 Dec 2013 09:07:07 GMT</pubDate></item><item><title><![CDATA[Reply to bin verwirrt wegen typen usw on Fri, 06 Dec 2013 09:21:11 GMT]]></title><description><![CDATA[<p>das mit char / unsigned char / signed char wusste ich. aber dass das bei int auch so ist? ich meine mal gelesen zu haben dass int immer entweder long int oder short int ist.<br />
da ich auf einer kleinen suche eben leider nichts entsprechendes gefunden habe, nehme ich das fortan einfach so hin. dass int aber immer entweder signed int oder unsigned int ist (und halt dessen entsprechung für die anderen grössen (also short int = unsigned short int oder signed short int)) stimmt, sagst du?</p>
<p>man lernt jeden tag etwas neues in dieser sprache. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370147</guid><dc:creator><![CDATA[asdfsdf]]></dc:creator><pubDate>Fri, 06 Dec 2013 09:21:11 GMT</pubDate></item><item><title><![CDATA[Reply to bin verwirrt wegen typen usw on Fri, 06 Dec 2013 09:49:17 GMT]]></title><description><![CDATA[<p>okay ich habe es eben implementiert und du hattest natürlich recht. nun funktioniert alles einwandfrei. danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370153</guid><dc:creator><![CDATA[asdfsdf]]></dc:creator><pubDate>Fri, 06 Dec 2013 09:49:17 GMT</pubDate></item><item><title><![CDATA[Reply to bin verwirrt wegen typen usw on Fri, 06 Dec 2013 10:01:04 GMT]]></title><description><![CDATA[<p>asdfsdf schrieb:</p>
<blockquote>
<p>ich meine mal gelesen zu haben dass int immer entweder long int oder short int ist.</p>
</blockquote>
<p>Dann hast du dich falsch erinnert, verlesen oder die die Quelle lügt.<br />
Beispiel: Auf 64-Bit Linux ist long 64-Bit und int 32-Bit. short bleibt bei 16-Bit<br />
Es ist auch möglich, dass alle gleich groß sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370156</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Fri, 06 Dec 2013 10:01:04 GMT</pubDate></item><item><title><![CDATA[Reply to bin verwirrt wegen typen usw on Fri, 06 Dec 2013 10:40:50 GMT]]></title><description><![CDATA[<p>asdfsdf schrieb:</p>
<blockquote>
<p>dass int aber immer entweder signed int oder unsigned int ist (und halt dessen entsprechung für die anderen grössen (also short int = unsigned short int oder signed short int)) stimmt, sagst du?</p>
</blockquote>
<p>int ist immer signed int. Punkt. Aus. Keine Ausnahmen.</p>
<p>short = short int = signed short int<br />
unsigned short = unsigned short int<br />
int = signed int<br />
unsigned = unsigned int<br />
long = long int = signed short int<br />
unsigned long = unsigned long int</p>
<p>Erkennst du das System? Ich habe den Eindruck, dass deine ganze Verwirrung aus dem char/signed char/unsigned char kommt. Das ist <strong>nur</strong> bei char so, dass einfach nur &quot;char&quot; sowohl signed oder unsigned sein kann. Und das es als ein eigener Typ gilt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370162</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 06 Dec 2013 10:40:50 GMT</pubDate></item><item><title><![CDATA[Reply to bin verwirrt wegen typen usw on Fri, 06 Dec 2013 10:49:42 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>asdfsdf schrieb:</p>
<blockquote>
<p>dass int aber immer entweder signed int oder unsigned int ist (und halt dessen entsprechung für die anderen grössen (also short int = unsigned short int oder signed short int)) stimmt, sagst du?</p>
</blockquote>
<p>int ist immer signed int. Punkt. Aus. Keine Ausnahmen.</p>
<p>short = short int = signed short int<br />
unsigned short = unsigned short int<br />
int = signed int<br />
unsigned = unsigned int<br />
long = long int = signed short int<br />
unsigned long = unsigned long int</p>
<p>Erkennst du das System?</p>
</blockquote>
<p>abgesehen von der zweituntersten zeile in deiner aufzählung (flüchtigkeitsfehler ;)), ja.</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Ich habe den Eindruck, dass deine ganze Verwirrung aus dem char/signed char/unsigned char kommt. Das ist <strong>nur</strong> bei char so, dass einfach nur &quot;char&quot; sowohl signed oder unsigned sein kann. Und das es als ein eigener Typ gilt.</p>
</blockquote>
<p>das kann gut sein und wird wahrscheinlich - zusammen damit, dass ich mich mal verlesen habe (wie oben einmal erwähnt) - mein problem gewesen sein, ja. also ich merke es mir nun so:<br />
char kann 1 grösse und 3 vorzeichentypen haben. wobei char keine aliase hat. (3 weil char ja weder unsigned char noch signed char ist)<br />
int kann 3 grössen und 2 vorzeichentypen haben. wobei int signed int als alias hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370163</guid><dc:creator><![CDATA[asdfsdf]]></dc:creator><pubDate>Fri, 06 Dec 2013 10:49:42 GMT</pubDate></item><item><title><![CDATA[Reply to bin verwirrt wegen typen usw on Fri, 06 Dec 2013 10:56:09 GMT]]></title><description><![CDATA[<p>Ich würde an deiner Stelle short, int und long als vollständig eigenständige Typen ansehen, nicht als Abwandlungen von int.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370167</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 06 Dec 2013 10:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to bin verwirrt wegen typen usw on Fri, 06 Dec 2013 10:58:53 GMT]]></title><description><![CDATA[<p>siehe auch ISO/IEC 14882:2011 Table 10 — simple-type-specifiers and the types they specify</p>
<blockquote>
<p>Specifier(s) Type<br />
type-name the type named<br />
simple-template-id the type as defined in 14.2<br />
char “char”<br />
unsigned char “unsigned char”<br />
signed char “signed char”<br />
char16_t “char16_t”<br />
char32_t “char32_t”<br />
bool “bool”<br />
unsigned “unsigned int”<br />
unsigned int “unsigned int”<br />
signed “int”<br />
signed int “int”<br />
int “int”<br />
unsigned short int “unsigned short int”<br />
unsigned short “unsigned short int”<br />
unsigned long int “unsigned long int”<br />
unsigned long “unsigned long int”<br />
unsigned long long int “unsigned long long int”<br />
unsigned long long “unsigned long long int”<br />
signed long int “long int”<br />
signed long “long int”<br />
signed long long int “long long int”<br />
signed long long “long long int”<br />
long long int “long long int”<br />
long long “long long int”<br />
long int “long int”<br />
long “long int”<br />
signed short int “short int”<br />
signed short “short int”<br />
short int “short int”<br />
short “short int”<br />
wchar_t “wchar_t”<br />
float “float”<br />
double “double”<br />
long double “long double”<br />
void “void”<br />
auto placeholder for a type to be deduced<br />
decltype(expression) the type as defined below</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2370168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370168</guid><dc:creator><![CDATA[dd++ 0]]></dc:creator><pubDate>Fri, 06 Dec 2013 10:58:53 GMT</pubDate></item></channel></rss>