<?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[verdammt komischer Thread-Titel (was: verdammt komisches problem)]]></title><description><![CDATA[<p>tag die herren</p>
<p>ich lass einfach den code sprechen:</p>
<pre><code>struct teststruct {
	   std::string STRING_LETTER;
	unsigned short U_SHORT_NUMBER;
};

long main(long argc, char* argv[]) {
	teststruct testvar = { 0 };
}
</code></pre>
<pre><code>struct teststruct {
	unsigned short U_SHORT_NUMBER;
	   std::string STRING_LETTER;
};

long main(long argc, char* argv[]) {
	teststruct testvar = { 0 };
}
</code></pre>
<p>warum crasht das erste und das zweite funktioniert?</p>
<p>danke - Anooony</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/253146/verdammt-komischer-thread-titel-was-verdammt-komisches-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 02:56:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253146.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 29 Oct 2009 09:26:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 15:41:00 GMT]]></title><description><![CDATA[<p>tag die herren</p>
<p>ich lass einfach den code sprechen:</p>
<pre><code>struct teststruct {
	   std::string STRING_LETTER;
	unsigned short U_SHORT_NUMBER;
};

long main(long argc, char* argv[]) {
	teststruct testvar = { 0 };
}
</code></pre>
<pre><code>struct teststruct {
	unsigned short U_SHORT_NUMBER;
	   std::string STRING_LETTER;
};

long main(long argc, char* argv[]) {
	teststruct testvar = { 0 };
}
</code></pre>
<p>warum crasht das erste und das zweite funktioniert?</p>
<p>danke - Anooony</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800073</guid><dc:creator><![CDATA[Anooony]]></dc:creator><pubDate>Thu, 29 Oct 2009 15:41:00 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 10:28:53 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-275.html" rel="nofollow">Unix-Tom</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-1.html" rel="nofollow">MFC (Visual C++)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800108</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Thu, 29 Oct 2009 10:28:53 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 10:29:20 GMT]]></title><description><![CDATA[<p>MFC != c++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800109</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Thu, 29 Oct 2009 10:29:20 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 10:41:15 GMT]]></title><description><![CDATA[<blockquote>
<p>warum crasht das erste und das zweite funktioniert?</p>
</blockquote>
<p>Das erste funktioniert nicht, weil std::string kein POD ist und nicht mit 0 initialisiert werden kann.</p>
<p>Das zweite funktioniert, weil in C++ nur der erste Member mit 0 initialisiert wird mit {0}.</p>
<p>Simon</p>
<p>Edit: Benutze doch einfach Konstruktoren um dein Typ zu initialisieren. BTW. in C++ ist struct und cass (ausser der Default Sichtbarkeit der Member) identisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800114</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Thu, 29 Oct 2009 10:41:15 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 11:02:15 GMT]]></title><description><![CDATA[<p>std::string hat einen Konstruktor, der char* als Parameter hat. Nullzeiger sind bei diesem allerdings nicht zulässig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800128</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 29 Oct 2009 11:02:15 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 11:05:49 GMT]]></title><description><![CDATA[<p>theta schrieb:</p>
<blockquote>
<p>weil in C++ nur der erste Member mit 0 initialisiert wird mit {0}.</p>
</blockquote>
<p>Das stimmt doch nicht?!</p>
<p>{ 0 } initialisiert alles mit Null. { } genau so.</p>
<pre><code class="language-cpp">struct ST
{
    int i;
    int j;
    std::string s;
};

ST st = { 0 };
</code></pre>
<p>Jetzt ist 'st.j' auch garantiert Null-Initialisiert.<br />
Aber wenn ein std::string dabei ist, müsste der ja auch mit 0 initialisiert werden. Ist das Compilerabhängig, und der erkennt, ob es sich um einen elementaren Datentyp handelt, und initialisiert dann halt nur diese?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800130</guid><dc:creator><![CDATA[Einspruch]]></dc:creator><pubDate>Thu, 29 Oct 2009 11:05:49 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 11:11:33 GMT]]></title><description><![CDATA[<p>Einspruch schrieb:</p>
<blockquote>
<p>theta schrieb:</p>
<blockquote>
<p>weil in C++ nur der erste Member mit 0 initialisiert wird mit {0}.</p>
</blockquote>
<p>Das stimmt doch nicht?!</p>
</blockquote>
<p>Ja, könnte sein, dass das nicht stimmt.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800133</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Thu, 29 Oct 2009 11:11:33 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 12:18:01 GMT]]></title><description><![CDATA[<p>und zu was ratet ihr mir jetzt? wie kann ich die struct jetzt leer zuweisen, um sicher zu gehen, dass nicht noch was drinsteht?</p>
<p>danke - anooony</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800177</guid><dc:creator><![CDATA[Anooony]]></dc:creator><pubDate>Thu, 29 Oct 2009 12:18:01 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 12:20:48 GMT]]></title><description><![CDATA[<p>Mach ein Konstruktor. Dort ist der Platz für Initialisierung.<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800182</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Thu, 29 Oct 2009 12:20:48 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 12:35:08 GMT]]></title><description><![CDATA[<p>Ein std::string ist von Anfang an leer, den brauchst du nicht initialisieren.<br />
Wenn du gemischte Typen hast, versuche die Klammer leer zu lassen, also { }, und keine Null reinzuschreiben.<br />
Scheint compilerabhängig zu sein, in Visual Studio crasht dann nichts mit zB. std::string und int.</p>
<p>Und es heißt int main(), nicht long main(). Die Parameterliste kannst du dir außerdem sparen, wenn du sie nicht brauchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800191</guid><dc:creator><![CDATA[Einspruch]]></dc:creator><pubDate>Thu, 29 Oct 2009 12:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 12:54:09 GMT]]></title><description><![CDATA[<p>danke - habs jezt über den construktor gemacht. danke auch für die zusätzlichen tips.</p>
<p>gurß - anooony</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800204</guid><dc:creator><![CDATA[Anooony]]></dc:creator><pubDate>Thu, 29 Oct 2009 12:54:09 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 14:35:47 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6642">@camper</a>: bist du sicher dass das laut Std. überhaupt mit {} initialisiert werden darf?<br />
Ist {} nicht nur für Aggregates erlaubt? Und ist es für Aggregates nicht verboten Member zu haben die einen ctor haben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800261</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 29 Oct 2009 14:35:47 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 15:01:28 GMT]]></title><description><![CDATA[<p>Übrigens ein verdammt komischer Thread-Titel...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800279</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 29 Oct 2009 15:01:28 GMT</pubDate></item><item><title><![CDATA[Reply to verdammt komischer Thread-Titel (was: verdammt komisches problem) on Thu, 29 Oct 2009 15:35:04 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6642">@camper</a>: bist du sicher dass das laut Std. überhaupt mit {} initialisiert werden darf?<br />
Ist {} nicht nur für Aggregates erlaubt? Und ist es für Aggregates nicht verboten Member zu haben die einen ctor haben?</p>
</blockquote>
<p>Dazu habe ich mich hier bisher gar nicht geäußert. Allerdings<br />
zu 1. -</p>
<blockquote>
<p>8.5.1/8 ... An empty initializer-list can be used to initialize any aggregate.</p>
</blockquote>
<p>Das ist nur in C++ möglich. In C muss immer wenigstens ein Initialisierer angegeben werden, daher die ominöse allgegenwärtige 0 (die hier in C++ allerdings auch mal zum Problem wird).</p>
<p>zu 2. Die Restriktion, keinen ctor zu haben, ist nicht rekursiv zu verstehen. Man denke einfach mal an Arrays aus Klassen. Die Member eines Aggregates müssen nicht selbst Aggregat sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1800304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1800304</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 29 Oct 2009 15:35:04 GMT</pubDate></item></channel></rss>