<?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[Richtige Variablendefinition]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Es gibt in C++ ja eine große Auswahl an Datentypen. Man kann sie mit long, short unsigned, signed usw. kombinieren.</p>
<p>Meine eigentliche Frage: Achtet ihr darauf, dass ihr jede Variable auf ihr Einsatzgebiet &quot;zuschneidet&quot;? Beispielsweise eine Zählvariable, die von 0 - 20 zählt als unsigned short zu definieren, anstatt als int. Genauso Membervariablen, von denen man weiß, dass sie nur einen kleinen Wert haben. Oder auch Rückgabewerte.</p>
<p>Wie handhabt ihr das?</p>
<p>Keep smilin'<br />
vi.p</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184090/richtige-variablendefinition</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 15:36:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184090.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Jun 2007 11:04:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Richtige Variablendefinition on Tue, 12 Jun 2007 11:04:18 GMT]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Es gibt in C++ ja eine große Auswahl an Datentypen. Man kann sie mit long, short unsigned, signed usw. kombinieren.</p>
<p>Meine eigentliche Frage: Achtet ihr darauf, dass ihr jede Variable auf ihr Einsatzgebiet &quot;zuschneidet&quot;? Beispielsweise eine Zählvariable, die von 0 - 20 zählt als unsigned short zu definieren, anstatt als int. Genauso Membervariablen, von denen man weiß, dass sie nur einen kleinen Wert haben. Oder auch Rückgabewerte.</p>
<p>Wie handhabt ihr das?</p>
<p>Keep smilin'<br />
vi.p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303858</guid><dc:creator><![CDATA[vi.p]]></dc:creator><pubDate>Tue, 12 Jun 2007 11:04:18 GMT</pubDate></item><item><title><![CDATA[Reply to Richtige Variablendefinition on Tue, 12 Jun 2007 11:07:16 GMT]]></title><description><![CDATA[<blockquote>
<p>Beispielsweise eine Zählvariable, die von 0 - 20 zählt als unsigned short zu definieren, anstatt als int.</p>
</blockquote>
<p>short zu nehmen ist oft keine gute Wahl, da der Code für größere Typen oft schneller ist! Auf die Größe zu achten ist auf normalen Rechnern nur dann sinnvoll, wenn man die Daten binär lesen/schreiben will oder auf die Größe angewiesen ist.</p>
<p>Ich achte aber darauf für Zähler und Größenangaben stehts unsigned Typen (enstprechend eben <code>std::size_t</code> ) zu nehmen, um potentielle Fehler auszuschließen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303860</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Tue, 12 Jun 2007 11:07:16 GMT</pubDate></item><item><title><![CDATA[Reply to Richtige Variablendefinition on Tue, 12 Jun 2007 13:24:38 GMT]]></title><description><![CDATA[<p>Hmm... na ja, relativ selten eigentlich. Ich nehm's eher woertlich. Char fuer ASCII oder einzelne Bytes, Integers fuer alle moeglichen Zahlen, unsigned int oder long wenn ich groessere Zahlen brauch und float fuer fliesskomma (und ganz selten auch mal double).</p>
<p>BTW waer in deinem Beispiel (0 - 20) ein char wesentlich besser geeignet als ein short <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Wenn du's wirklich genau nehmen willst, wuerd sich wohl <a href="http://boost.org/libs/integer/cstdint.htm" rel="nofollow">http://boost.org/libs/integer/cstdint.htm</a> anbieten.</p>
<blockquote>
<p>Ich achte aber darauf für Zähler und Größenangaben stehts unsigned Typen (enstprechend eben <code>std::size_t</code> ) zu nehmen, um potentielle Fehler auszuschließen.</p>
</blockquote>
<p>Wo ist std::size_t eigentlich definiert? in &lt;cstddef&gt;, oder ist das ein anderes size_t ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304024</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Tue, 12 Jun 2007 13:24:38 GMT</pubDate></item><item><title><![CDATA[Reply to Richtige Variablendefinition on Tue, 12 Jun 2007 13:36:21 GMT]]></title><description><![CDATA[<p>Als bei primitiven Type, nehme ich immer einfach int. Das passt irgendwie immer. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Solange ich keine direkten Bitmanipulationen brauche, ist das auch i.O. Gefährlich wirds, wenn man Bits manipulieren will, dann muß man sich für einen speziellen Typ entscheiden.</p>
<p>std::size_t ist in einem C++-Header drin. size_t wird vom Compiler bereit gestellt, und ist glaube ich ein C-Sprachmerkmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304039</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 12 Jun 2007 13:36:21 GMT</pubDate></item><item><title><![CDATA[Reply to Richtige Variablendefinition on Tue, 12 Jun 2007 14:56:26 GMT]]></title><description><![CDATA[<p>Blue-Tiger schrieb:</p>
<blockquote>
<blockquote>
<p>Ich achte aber darauf für Zähler und Größenangaben stehts unsigned Typen (enstprechend eben <code>std::size_t</code> ) zu nehmen, um potentielle Fehler auszuschließen.</p>
</blockquote>
<p>Wo ist std::size_t eigentlich definiert? in &lt;cstddef&gt;, oder ist das ein anderes size_t ?</p>
</blockquote>
<p>in cstddef</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@Artchi</a><br />
size_t ist ein typedef in C eben in stddef.h und in C++ eben in cstddef (und namespace std)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304151</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Tue, 12 Jun 2007 14:56:26 GMT</pubDate></item><item><title><![CDATA[Reply to Richtige Variablendefinition on Tue, 12 Jun 2007 16:40:17 GMT]]></title><description><![CDATA[<p>ich machs eigentlich andersrum: ich versuch so wenige typen wie möglich zu verwenden.</p>
<p>in den allermeisten fällen reichen int , char und bool (die ersten beide manchmal mit unsigned modifier). wozu noch mehr verwenden? die meisten compiler werden dir aus dem sorgfältig ausgewähltem short eh nen int (oder &quot;int64&quot;) drehen, wenn du ihm nich auf die finger haust.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304244</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Tue, 12 Jun 2007 16:40:17 GMT</pubDate></item><item><title><![CDATA[Reply to Richtige Variablendefinition on Tue, 12 Jun 2007 20:30:18 GMT]]></title><description><![CDATA[<p>Ich finde, unsigned-Werte eignen sich nur, um casts zu vermeiden oder weniger Abfragen machen zu müssen.<br />
Bei so einer Funktion wäre z.B. unsigned (ein bissl) sinnvoller:</p>
<p>Version 'unsigned':</p>
<pre><code class="language-cpp">char GetValue( unsigned int Index )
{
    char Vals[] = { 'g', 'z', 'o', 'p' };
    if ( Index &lt; sizeof(Vals)/sizeof(char) )
        return Vals[Index];
    return '\0';
}
</code></pre>
<p>Version 'signed':</p>
<pre><code class="language-cpp">char GetValue( int Index )
{
    char Vals[] = { 'g', 'z', 'o', 'p' };
    if ( Index &gt; 0  &amp;&amp;  Index &lt; sizeof(Vals)/sizeof(char) )
        return Vals[Index];
    return '\0';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1304433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304433</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Tue, 12 Jun 2007 20:30:18 GMT</pubDate></item></channel></rss>