<?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[pod-initialisierung in c&#x2F;c++ mix]]></title><description><![CDATA[<p>auf arbeit schrieb ich folgendes:</p>
<pre><code class="language-cpp">irgendein_pod life = {0};
life.answer = 42;
</code></pre>
<p>ein halbes jahr später steht nun dort:</p>
<pre><code class="language-cpp">irgendein_pod life;
memset(&amp;life, 0, sizeof(irgendein_pod));
life.answer = 42;
</code></pre>
<p>das ist c++ code, der mit vc++ 2012 und g++ &gt;= 4.6 kompiliert wird. irgendein_pod kommt aus altem c-code. geht davon aus, dass dort alles in c denkbare drin sein kann.</p>
<p>ich behaupte, dass mein code in jedem fall das gleiche in kürzer tut. bin mir aber nicht sicher, dass ich nichts übersehe. ist das memset notwendig?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/318440/pod-initialisierung-in-c-c-mix</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 16:07:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318440.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Jul 2013 08:14:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to pod-initialisierung in c&#x2F;c++ mix on Sat, 13 Jul 2013 08:14:48 GMT]]></title><description><![CDATA[<p>auf arbeit schrieb ich folgendes:</p>
<pre><code class="language-cpp">irgendein_pod life = {0};
life.answer = 42;
</code></pre>
<p>ein halbes jahr später steht nun dort:</p>
<pre><code class="language-cpp">irgendein_pod life;
memset(&amp;life, 0, sizeof(irgendein_pod));
life.answer = 42;
</code></pre>
<p>das ist c++ code, der mit vc++ 2012 und g++ &gt;= 4.6 kompiliert wird. irgendein_pod kommt aus altem c-code. geht davon aus, dass dort alles in c denkbare drin sein kann.</p>
<p>ich behaupte, dass mein code in jedem fall das gleiche in kürzer tut. bin mir aber nicht sicher, dass ich nichts übersehe. ist das memset notwendig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338568</guid><dc:creator><![CDATA[iih old school]]></dc:creator><pubDate>Sat, 13 Jul 2013 08:14:48 GMT</pubDate></item><item><title><![CDATA[Reply to pod-initialisierung in c&#x2F;c++ mix on Sat, 13 Jul 2013 08:41:20 GMT]]></title><description><![CDATA[<p>iih old school schrieb:</p>
<blockquote>
<p>ich behaupte, dass mein code in jedem fall das gleiche in kürzer tut. bin mir aber nicht sicher, dass ich nichts übersehe. ist das memset notwendig?</p>
</blockquote>
<p>Es gibt einen kleinen Unterschied: die memset-Variante setzt auch Paddingbits auf 0, da man sich für diese in der Regel nicht interessiert, gibt es ansonsten keinen Unterschied.<br />
Ab C99 wäre es besser</p>
<pre><code class="language-cpp">irgendein_pod life = { .answer = 42 };
</code></pre>
<p>zu schreiben.</p>
<p><s>In C++ ist irgendein_pod life = {}; äquivalent zur memset-Variante (das ist dann Value- und nicht Aggregatinitialisierung), allerdings ist diese Form in C syntaktisch nicht möglich.</s><br />
Edit: das ist ein Fehler im Standard, wird in C++1y korrigiert sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338571</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 13 Jul 2013 08:41:20 GMT</pubDate></item></channel></rss>