<?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[Speicher von Stackobjekten manipulieren erlaubt?]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bin ein bisschen eingerostet und jetzt weiß ich nicht, ob es erlaubt ist, Objekte am Stack byteweise zu manipulieren.</p>
<pre><code class="language-cpp">#pragma pack(1)

struct Test
{
	unsigned short x;
	unsigned int y;
	unsigned int z;
};

#pragma pack()

// main
Test test = { 1, 2, 3 };

unsigned char* data = (unsigned char*)&amp;test;

for(int i = 0; i &lt; sizeof(Test); ++i)
	data[i] += 3;
</code></pre>
<p>Denn manchmal bekomme ich nach dem Programmende eine Meldung wie &quot;Stack around 'test' was corrupted&quot; oder so (VS2010).</p>
<p>Oder darf man nur Objekte am Heap so manipulieren?</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296902/speicher-von-stackobjekten-manipulieren-erlaubt</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 18:00:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296902.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Dec 2011 19:19:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speicher von Stackobjekten manipulieren erlaubt? on Wed, 14 Dec 2011 19:19:31 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bin ein bisschen eingerostet und jetzt weiß ich nicht, ob es erlaubt ist, Objekte am Stack byteweise zu manipulieren.</p>
<pre><code class="language-cpp">#pragma pack(1)

struct Test
{
	unsigned short x;
	unsigned int y;
	unsigned int z;
};

#pragma pack()

// main
Test test = { 1, 2, 3 };

unsigned char* data = (unsigned char*)&amp;test;

for(int i = 0; i &lt; sizeof(Test); ++i)
	data[i] += 3;
</code></pre>
<p>Denn manchmal bekomme ich nach dem Programmende eine Meldung wie &quot;Stack around 'test' was corrupted&quot; oder so (VS2010).</p>
<p>Oder darf man nur Objekte am Heap so manipulieren?</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2156975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2156975</guid><dc:creator><![CDATA[Standard]]></dc:creator><pubDate>Wed, 14 Dec 2011 19:19:31 GMT</pubDate></item><item><title><![CDATA[Reply to Speicher von Stackobjekten manipulieren erlaubt? on Wed, 14 Dec 2011 20:02:49 GMT]]></title><description><![CDATA[<p>Klar darfst du das machen. Aber du hast offensichtlich was falsch gemacht. Zeig mal ein vollständiges Beispiel, an dem man deinen Fehler nachvollziehen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2156991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2156991</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 14 Dec 2011 20:02:49 GMT</pubDate></item></channel></rss>