<?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[Auto-Initialisierung]]></title><description><![CDATA[<p>Moin Moin, ich bins mal wieder.<br />
Ich hab mir grad gedacht, dass man doch eigentlich für die Typen die es in C++ gibt (float, int, double ...) doch eigentlich eine eigene Klasse machen könnte, bei der der Konstruktor die Variable automatisch mit NULL initialisiert?</p>
<pre><code class="language-cpp">class Int
{
public:
	Int() : Value(0) {}

	// == Operator.
	// != Operator.
	// += Operator.
	// ...
private:
	int Value;
};
</code></pre>
<p>Dadurch hätte man doch eigentlich keine Verluse?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/282405/auto-initialisierung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 07:59:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/282405.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Feb 2011 18:06:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Auto-Initialisierung on Sat, 19 Feb 2011 18:06:57 GMT]]></title><description><![CDATA[<p>Moin Moin, ich bins mal wieder.<br />
Ich hab mir grad gedacht, dass man doch eigentlich für die Typen die es in C++ gibt (float, int, double ...) doch eigentlich eine eigene Klasse machen könnte, bei der der Konstruktor die Variable automatisch mit NULL initialisiert?</p>
<pre><code class="language-cpp">class Int
{
public:
	Int() : Value(0) {}

	// == Operator.
	// != Operator.
	// += Operator.
	// ...
private:
	int Value;
};
</code></pre>
<p>Dadurch hätte man doch eigentlich keine Verluse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2023371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2023371</guid><dc:creator><![CDATA[Mr. Potato]]></dc:creator><pubDate>Sat, 19 Feb 2011 18:06:57 GMT</pubDate></item><item><title><![CDATA[Reply to Auto-Initialisierung on Sat, 19 Feb 2011 18:10:30 GMT]]></title><description><![CDATA[<p>Der Implementierungsaufwand und die Nachteile der kapselnden Klasse sind wahrscheinlich nicht gerechtfertigt. Zumal der Fall, in dem arithmetische Typen automatisch auf Null gesetzt werden sollen (und dies nicht schon von Klassen wie Containern ohnehin getan wird), recht selten vorkommt.</p>
<p>Oder in welchem Kontext benötigst du das so oft?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2023373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2023373</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 19 Feb 2011 18:10:30 GMT</pubDate></item><item><title><![CDATA[Reply to Auto-Initialisierung on Sat, 19 Feb 2011 18:40:25 GMT]]></title><description><![CDATA[<p>diese wrapper klassen für die standard datetypen wurden hier doch schon öfters diskutiert, glaube ich.</p>
<p>das ist erstmal nicht schlecht, aber es hat einige nachteile</p>
<p>pros:<br />
-bessere initialisierung (z.b. mit 0)<br />
-operationen sind besser kontrollierbar (divison durch 0, overflows...)<br />
-schnell, da cpu dies sofort unterstützt</p>
<p>contras:<br />
-recht viel aufwand für so &quot;wenig&quot;<br />
-langsamer da statt nur einer operationen noch viel mehr hinzukommt<br />
-manchmal sind overflows nicht nur egal sondern sogar erwünscht und gewollt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2023384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2023384</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 19 Feb 2011 18:40:25 GMT</pubDate></item><item><title><![CDATA[Reply to Auto-Initialisierung on Sun, 20 Feb 2011 06:15:32 GMT]]></title><description><![CDATA[<p>Das ist dann wohl den Aufwand nicht Wert.</p>
<p>Ich frag mich aber grad, wieso viele eigene typedefs der Variablen nutzen? Beispielsweise nutzt Microsoft immer INT, BOOL, FLOAT, ... anstatt int, bool, float, ...</p>
<p>Welchen Sinn hat das denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2023511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2023511</guid><dc:creator><![CDATA[Mr. Potato]]></dc:creator><pubDate>Sun, 20 Feb 2011 06:15:32 GMT</pubDate></item><item><title><![CDATA[Reply to Auto-Initialisierung on Sun, 20 Feb 2011 06:35:56 GMT]]></title><description><![CDATA[<p>Mr. Potato schrieb:</p>
<blockquote>
<p>Beispielsweise nutzt Microsoft immer INT, BOOL, FLOAT, ... anstatt int, bool, float, ...</p>
</blockquote>
<p>INT und FLOAT habe ich noch nie gesehen. BOOL gibt es, weil die C-Compiler von Microsoft keinen eingebauten bool-Typ kennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2023512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2023512</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Sun, 20 Feb 2011 06:35:56 GMT</pubDate></item><item><title><![CDATA[Reply to Auto-Initialisierung on Sun, 20 Feb 2011 08:18:10 GMT]]></title><description><![CDATA[<p>Mr. Potato schrieb:</p>
<blockquote>
<p>Das ist dann wohl den Aufwand nicht Wert.</p>
<p>Ich frag mich aber grad, wieso viele eigene typedefs der Variablen nutzen? Beispielsweise nutzt Microsoft immer INT, BOOL, FLOAT, ... anstatt int, bool, float, ...</p>
<p>Welchen Sinn hat das denn?</p>
</blockquote>
<p>Abgesehen von dem Microsoft Zeug: bessere Namen. Steht in meinen &quot;Golden Rules of Gameprogramming&quot;. Sehr nettes Buch btw.</p>
<pre><code class="language-cpp">typedef unsigned int u32;
typedef int s32;
typedef unsigned char u8;
typedef char s8;
</code></pre>
<p>Ich sehe am u dass es unsigned ist und wie breit der Typ ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2023532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2023532</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sun, 20 Feb 2011 08:18:10 GMT</pubDate></item><item><title><![CDATA[Reply to Auto-Initialisierung on Sun, 20 Feb 2011 08:28:03 GMT]]></title><description><![CDATA[<p>Achso, und damit das ganze dann auch auf anderen Systemen die gleiche länge hat, nutzt man diese typedefs? Klasse, kommt gleich mal auf meine Liste!</p>
<p>Ich hoffe ihr hab nix dagegen wenn ich euch hier weiterhin mit Fragen über verwante Themen bombadiere <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Wie ist das denn mit dem Default Constructor einer Klasse? Da kann man doch in der Initialisierungsliste gleich alles auf 0 initialisieren, oder hat man da geschwindigkeitsverluste?</p>
<p>Klassisches Beispiel: Ein Vector</p>
<pre><code class="language-cpp">// Initialisierung mit 0
class vec {
	vec() : x(0), y(0), z(0) {}

	float x;
	float y;
	float z;
};

// Ohne Initialisierung
class vec {
	vec() {}

	float x;
	float y;
	float z;
}
</code></pre>
<p>Wäre der Constructor ohne Initialisierungliste schneller als der mit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2023538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2023538</guid><dc:creator><![CDATA[Mr. Potato]]></dc:creator><pubDate>Sun, 20 Feb 2011 08:28:03 GMT</pubDate></item></channel></rss>