<?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[new fliegt mir um die Ohren]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich verstehe nicht, warum mir der Debugger ein Access Violation bei 0x00000000 bei diesem Code gibt:</p>
<pre><code class="language-cpp">struct Element
{
	unsigned char data[128];

	Element()
	{
		// Wenn ich das weglasse, passt alles
		memcpy(data, 0, sizeof(data));
	}
};

int main()
{
	Element elem; // Alles OK
	new Element(); // BUM ZAK AUTSCH UND AUS
}
</code></pre>
<p>Genauer gesagt passiert es beim new- Aufruf in main.<br />
Wenn ich statisch anlege, gibts keine Probleme.<br />
Wenn ich das memcpy im Konstruktor weglasse, gibts keine Probleme.</p>
<p>Aber was stimmt da nicht?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/226456/new-fliegt-mir-um-die-ohren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 00:38:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/226456.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 01 Nov 2008 14:13:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 14:13:27 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich verstehe nicht, warum mir der Debugger ein Access Violation bei 0x00000000 bei diesem Code gibt:</p>
<pre><code class="language-cpp">struct Element
{
	unsigned char data[128];

	Element()
	{
		// Wenn ich das weglasse, passt alles
		memcpy(data, 0, sizeof(data));
	}
};

int main()
{
	Element elem; // Alles OK
	new Element(); // BUM ZAK AUTSCH UND AUS
}
</code></pre>
<p>Genauer gesagt passiert es beim new- Aufruf in main.<br />
Wenn ich statisch anlege, gibts keine Probleme.<br />
Wenn ich das memcpy im Konstruktor weglasse, gibts keine Probleme.</p>
<p>Aber was stimmt da nicht?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608550</guid><dc:creator><![CDATA[Anfänger04]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:13:27 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 14:19:11 GMT]]></title><description><![CDATA[<p>Wenn ich vor und nach dem memcpy ein cout &lt;&lt; &quot;egalwas&quot;; mache, dann stürzt das Programm auch beim statischen Anlegen ab!</p>
<p>Was ist da los?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608552</guid><dc:creator><![CDATA[Anfänger04]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:19:11 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 14:23:13 GMT]]></title><description><![CDATA[<p>Du kannst nicht einfach von Adresse 0 kopieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608555</guid><dc:creator><![CDATA[non~fricky]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:23:13 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 14:23:31 GMT]]></title><description><![CDATA[<p>Und noch was Komisches:</p>
<p>Mit ZeroMemory() treten garkeine Probleme auf!</p>
<p>WTF ?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608557</guid><dc:creator><![CDATA[Anfänger04]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:23:31 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 14:24:18 GMT]]></title><description><![CDATA[<p>non~fricky schrieb:</p>
<blockquote>
<p>Du kannst nicht einfach von Adresse 0 kopieren.</p>
</blockquote>
<p>Hä?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608558</guid><dc:creator><![CDATA[Anfänger04@Schlauch]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:24:18 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 14:26:02 GMT]]></title><description><![CDATA[<p>Dein memcpy() versucht Daten von Adresse 0 nach data zu kopieren. Adresse 0 &quot;gehört&quot; dir nicht, also gibt es eine Access Violation. Was du eigentlich machen möchtest ist ein memset().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608559</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:26:02 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 14:28:22 GMT]]></title><description><![CDATA[<p>memcpy kopiert daten von einem teil des speichers in den anderen. das ziel ist dabei der erste zeiger, die quelle der zweite. in deinem beispiel übergibst du &quot;0&quot; als quelle, d.h. memcpy versuchst, von stelle &quot;0x00000000&quot; daten zu kopieren. dafür muss es den zeiger dorthin dereferenzieren und das dereferenzieren eines null-zeigers ist undefiniert.</p>
<p>wenn du einen speicherbereich mit nullen füllen willst, dann verwende <code>std::fill</code> bzw. <code>std::fill_n</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608562</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:28:22 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 14:29:27 GMT]]></title><description><![CDATA[<p>Oh ... my ... god ...</p>
<p>memcpy != memset</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>SORRY BIN ERST AUFGESTANDEN</p>
<p>THX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608563</guid><dc:creator><![CDATA[Anfänger04@Checker]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:29:27 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 15:03:21 GMT]]></title><description><![CDATA[<p>In C++ benutzt du statt <code>char</code> -Arrays besser <code>std::string</code> und statt C-Speicherfrickeleien <code>std::fill()</code> , <code>std::copy()</code> und Co.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608578</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 01 Nov 2008 15:03:21 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 15:03:23 GMT]]></title><description><![CDATA[<p>btw: std::fill wäre die C++-variante des memset <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608579</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 01 Nov 2008 15:03:23 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 15:17:45 GMT]]></title><description><![CDATA[<p>Jo schon klar doch muss ich auf Performance achten, es geht um IPC und viele, viele Daten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608584</guid><dc:creator><![CDATA[Anfänger04@THX]]></dc:creator><pubDate>Sat, 01 Nov 2008 15:17:45 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 15:20:46 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>btw: std::fill wäre die C++-variante des memset <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="😉"
    /></p>
</blockquote>
<p>Stimmt, wurde ja auch erst zwei Mal erwähnt. :p</p>
<p>Anfänger04@THX schrieb:</p>
<blockquote>
<p>Jo schon klar doch muss ich auf Performance achten, es geht um IPC und viele, viele Daten...</p>
</blockquote>
<p>Okay. Und wie kommst du auf die Idee, <code>memset()</code> wäre performanter? Hast du das mit einem Profiler überprüft? Falls nicht, hüte dich vor vorschnellen Annahmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608585</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 01 Nov 2008 15:20:46 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 15:22:10 GMT]]></title><description><![CDATA[<p>Anfänger04@THX schrieb:</p>
<blockquote>
<p>Jo schon klar doch muss ich auf Performance achten, es geht um IPC und viele, viele Daten...</p>
</blockquote>
<p>Ja, es ist ein beliebter Anfängerfehler zu meinen, man müsste auf Performance achten und dann die falschen Sachen &quot;optimieren&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608587</guid><dc:creator><![CDATA[is klar]]></dc:creator><pubDate>Sat, 01 Nov 2008 15:22:10 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 15:30:25 GMT]]></title><description><![CDATA[<p>Öh ich meinte die Verwendung von std::string.<br />
Bei ein paar hunderttausend mal 128 Bytes pro Sekunde nehme ich lieber ein unsigned char Array, zuliebe der Nutzer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608592</guid><dc:creator><![CDATA[Anfänger04@SRY]]></dc:creator><pubDate>Sat, 01 Nov 2008 15:30:25 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 16:18:57 GMT]]></title><description><![CDATA[<p>Anfänger04@SRY schrieb:</p>
<blockquote>
<p>Öh ich meinte die Verwendung von std::string.<br />
Bei ein paar hunderttausend mal 128 Bytes pro Sekunde nehme ich lieber ein unsigned char Array, zuliebe der Nutzer.</p>
</blockquote>
<p>Und woher weißt du, dass das langsam ist? Schon mal gemessen? Macht dein Programm fertig und versuche dabei den Code so schön wie möglich zu machen, ohne an Codeoptimierung zu denken, das kann der Compiler sowieso viel besser wie du. Nimm std::vector statt C-Arrays, da gibt es keinen messbaren Zeitunterschied.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608619</guid><dc:creator><![CDATA[is klar]]></dc:creator><pubDate>Sat, 01 Nov 2008 16:18:57 GMT</pubDate></item><item><title><![CDATA[Reply to new fliegt mir um die Ohren on Sat, 01 Nov 2008 17:03:44 GMT]]></title><description><![CDATA[<p>als du</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608646</guid><dc:creator><![CDATA[flamer^2]]></dc:creator><pubDate>Sat, 01 Nov 2008 17:03:44 GMT</pubDate></item></channel></rss>