<?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[sizeof(int) 4 bytes, im Taskmanager ~17 bytes]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mich über den hohen Speicherverbrauchs meines Graphen gewundert, und angefangen rumzuprobieren.<br />
Einer der Tests war eine Millionen integer zu erstellen und zu gucken was der Taskmanager dazu sagt:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; 1000000; i++)
{
	new int();
}
</code></pre>
<p>ergibt im Taskmanager 17208 kb, obwohl</p>
<pre><code class="language-cpp">std::cout&lt;&lt;sizeof(int)&lt;&lt;std::endl;
</code></pre>
<p>4 ergibt.</p>
<p>Vielleicht ein paar Infos die helfen könnten: Win32, Athlon64, kompiliertes Programm 8 kb groß</p>
<p>Kann mir jemand erklären warum der Speicherverbrauch 4 mal so groß ist wie er sein sollte? <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="😕"
    /><br />
Zeigt der Taskmanager einfach Kappes an, wenn ja, könnt ihr mir etwas zum Speicher messen empfehlen?</p>
<p>Vielen Dank im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/236948/sizeof-int-4-bytes-im-taskmanager-17-bytes</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 15:28:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/236948.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Mar 2009 11:25:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 11:25:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mich über den hohen Speicherverbrauchs meines Graphen gewundert, und angefangen rumzuprobieren.<br />
Einer der Tests war eine Millionen integer zu erstellen und zu gucken was der Taskmanager dazu sagt:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; 1000000; i++)
{
	new int();
}
</code></pre>
<p>ergibt im Taskmanager 17208 kb, obwohl</p>
<pre><code class="language-cpp">std::cout&lt;&lt;sizeof(int)&lt;&lt;std::endl;
</code></pre>
<p>4 ergibt.</p>
<p>Vielleicht ein paar Infos die helfen könnten: Win32, Athlon64, kompiliertes Programm 8 kb groß</p>
<p>Kann mir jemand erklären warum der Speicherverbrauch 4 mal so groß ist wie er sein sollte? <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="😕"
    /><br />
Zeigt der Taskmanager einfach Kappes an, wenn ja, könnt ihr mir etwas zum Speicher messen empfehlen?</p>
<p>Vielen Dank im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684191</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 11:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 11:39:24 GMT]]></title><description><![CDATA[<p>Halbiere doch mal die Anzahl der allokierten Integer und schau nach, wie groß das Programm dann ist. Ich prognostiziere, dass es nicht um die Hälfte schrumpft, sondern um ca. 2 MB</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684196</guid><dc:creator><![CDATA[_)]]></dc:creator><pubDate>Sun, 22 Mar 2009 11:39:24 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 11:47:21 GMT]]></title><description><![CDATA[<p>Naja, das System legt halt zu jedem allokiertem Speicher noch zusätzliche Informationen bei. Das dies bei kleinen Objekten meistens ein vielfaches ihrer eigenen Grösse ist, ist durchaus bekannt. Deshalb verwendet man in solchen Fällen oft auch eine eigene Speicherverwaltung. Man allokiert grössere Mengen an Speicher im voraus und verteilt diese dann selber.</p>
<p>So ein Verfahren wird zum Beispiel in Modern C++ Design erklärt. Gibt aber sicher noch bessere Bücher für dieses Themengebiet, da man dazu eigentlich ein eigenes Buch schreiben könnte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Damit du es mal selber siehst, mach sowas:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;algorithm&gt;

int main()
{
  int* field = new int[1000000];

  std::fill_n(field, 1000000, 9);

  std::cin.get();

  delete[] field;

  return 0;
}
</code></pre>
<p>Du wirst bemerken, dass der Speicherverbrauch deutlich gesunken ist, obwohl genau gleichviele <code>int</code> Objekte angelegt wurden.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684197</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 22 Mar 2009 11:47:21 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 13:08:37 GMT]]></title><description><![CDATA[<p>Tatsache, 5452 kb laut Taskmanager.</p>
<p>Vielen Dank, komme von Python und Java, daher ist mir Speicherverwaltung noch neu.</p>
<p>Ich werde zusehen, dass ich mir etwas über Memory Allocation anlese. boost pool scheint sich da anzubieten, wenn ich das richtig sehe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684242</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 13:08:37 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 13:13:22 GMT]]></title><description><![CDATA[<p>muuh schrieb:</p>
<blockquote>
<p>Ich werde zusehen, dass ich mir etwas über Memory Allocation anlese. boost pool scheint sich da anzubieten, wenn ich das richtig sehe.</p>
</blockquote>
<p>Meistens ist std::vector, std::list, etc der perfekte Pool <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/1684246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684246</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Sun, 22 Mar 2009 13:13:22 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 13:25:05 GMT]]></title><description><![CDATA[<p>Naja, was ich zur Zeit mache ist:</p>
<pre><code>std::list&lt;Node*&gt; nodes;
</code></pre>
<pre><code>Node* Graph::addNode(int x, int y, int z)
{
    Node* node = new Node(x, y, z);
    nodes.push_back(node);
    return node;
}
</code></pre>
<p>Aber da ich Probleme mit dem Speicher bekomme scheints falsch zu sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684253</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 13:25:05 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 13:28:04 GMT]]></title><description><![CDATA[<p>Gibst du den Speicher wieder frei? Und wieso nimmst du keine <code>std::list&lt;Node&gt;</code> ?</p>
<p>Brauchst du die Zeiger? Falls ja, bieten sich Smart Pointer und Pointer Container aus Boost an...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684257</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 22 Mar 2009 13:28:04 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 13:51:28 GMT]]></title><description><![CDATA[<p>Ja ich gebe den Speicher wieder frei, aber wenn ich mich nicht irre wärs auch egal wenn nicht, denn zur Zeit lass ichs nur einmal durchlaufen.</p>
<p>Die Zeiger brauche ich, Smart Pointer und Pointer Container gucke ich mir mal an.</p>
<p>Ich habe keine std::list&lt;Node&gt; benutzt, weil ich mir nicht sicher war, ob so etwas richtig ist:</p>
<pre><code>std::list&lt;Node&gt; nodes;
</code></pre>
<pre><code>Node* Graph::addNode(int x, int y, int z)
{
    nodes.push_back(*(new Node(x, y, z));
    return &amp;(nodes.back());
}
</code></pre>
<p>Ich habe das Gefühl das ist nicht so gut...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684276</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 13:51:28 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 13:58:05 GMT]]></title><description><![CDATA[<p>muuh schrieb:</p>
<blockquote>
<p>Ja ich gebe den Speicher wieder frei, aber wenn ich mich nicht irre wärs auch egal wenn nicht, denn zur Zeit lass ichs nur einmal durchlaufen.</p>
</blockquote>
<p>Du irrst dich! Zu jedem <code>new</code> kommt ein <code>delete</code> und zu jedem <code>new[]</code> kommt ein <code>delete[]</code> . Du kannst dich nicht darauf verlassen, dass irgendjemand anderes deinen Speicher freigibt.</p>
<p>muuh schrieb:</p>
<blockquote>
<p>Die Zeiger brauche ich, ...</p>
</blockquote>
<p>Keine sinnvolle Antwort.</p>
<p>muuh schrieb:</p>
<blockquote>
<p>Ich habe keine std::list&lt;Node&gt; benutzt, weil ich mir nicht sicher war, ob so etwas richtig ist:</p>
<pre><code>...
</code></pre>
<p>Ich habe das Gefühl das ist nicht so gut...</p>
</blockquote>
<p>omg <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Das ist wirklich nicht gut, aber zeigt schön deine Herkunft auf. In C++ muss man nicht jedes Objekt mit new anlegen. Dies ist nur nötig, wenn man es auf dem Heap haben will und die Speicherverwaltung übernimmt. Das folgende wäre vielleicht eher was du suchst:</p>
<pre><code class="language-cpp">std::list&lt;Node&gt; nodes;

// ...

Node&amp; Graph::addNode(int x, int y, int z)
{
    nodes.push_back(Node(x, y, z));
    return nodes.back();
}
</code></pre>
<p>Ganz ehrlich, wenn du dich in Python oder Java auskennst, dann solltest du trotzdem ein C++ Buch kaufen. Die Sprachen sind VIEL ZU VERSCHIEDEN. Es ist ein Fehlschluss, wenn du meinst, dass du mit deinem Java Wissen auch C++ programmieren kannst. Das führt zu nichts!</p>
<p>Empfohlene Bücher:<br />
- C++ Primer<br />
- Thinking in C++ 1&amp;2<br />
- Die C++ Programmiersprache</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684279</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 22 Mar 2009 13:58:05 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 14:20:19 GMT]]></title><description><![CDATA[<p>Naja, ich habe gelesen, dass der Heap viel größer ist als der Stack, und da ich vor habe über eine Millionen Knoten anzulegen, zu jedem Knoten mehrere Kanten anzulegen und dann zu durchsuchen... Nunja, ich dachte da sei es eine bessere Idee das auf den Heap zu packen.</p>
<p>Ich werde mich mal um ein wenig Bücher zu c++ bemühen.</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684295</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:20:19 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 14:36:04 GMT]]></title><description><![CDATA[<p>muuh schrieb:</p>
<blockquote>
<p>Naja, ich habe gelesen, dass der Heap viel größer ist als der Stack, und da ich vor habe über eine Millionen Knoten anzulegen, zu jedem Knoten mehrere Kanten anzulegen und dann zu durchsuchen... Nunja, ich dachte da sei es eine bessere Idee das auf den Heap zu packen.</p>
</blockquote>
<p>Die Sache ist aber, dass <code>std::list</code> einen Defaultallokator intern benutzt. Das <code>std::list</code> Objekt bleibt immer gleich gross, egal wieviele Objekte du reinstopfst, denn <code>std::list</code> setzt diese intern über den Defaultallokator auf den Heap. Aber sowas lernt man in einem guten C++ Buch <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>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684303</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:36:04 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 14:37:08 GMT]]></title><description><![CDATA[<p>muuh schrieb:</p>
<blockquote>
<p>Naja, ich habe gelesen, dass der Heap viel größer ist als der Stack, und da ich vor habe über eine Millionen Knoten anzulegen, zu jedem Knoten mehrere Kanten anzulegen und dann zu durchsuchen... Nunja, ich dachte da sei es eine bessere Idee das auf den Heap zu packen.</p>
</blockquote>
<p><code>std::list</code> und die anderen STL-Container verwenden alle intern den Heap, du bekommst davon einfach nichts mit und hast dich nicht ums Freigeben zu kümmern.</p>
<p>Aber ich kann Dravere nur zustimmen: Die Konzepte von C++ sind in vieler Hinsicht sehr speziell. Ein Neu-Lernen bringt mehr als ein Umlernen, denn die Gemeinsamkeiten hören schon bald einmal auf...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684304</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:37:08 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 14:39:55 GMT]]></title><description><![CDATA[<p>muuh schrieb:</p>
<blockquote>
<p>Naja, ich habe gelesen, dass der Heap viel größer ist als der Stack, und da ich vor habe über eine Millionen Knoten anzulegen, zu jedem Knoten mehrere Kanten anzulegen und dann zu durchsuchen... Nunja, ich dachte da sei es eine bessere Idee das auf den Heap zu packen.</p>
</blockquote>
<p>Wenn du sowas schreibst:</p>
<pre><code class="language-cpp">myList.push_back(Node(x,y,z));
</code></pre>
<p>passiert folgendes:</p>
<p>1. ein Node-Objekt wird auf dem Stack angelegt.<br />
2. die Memberfunktion push_back wird auf myList aufgerufen, ihr wird dieses Node-Objekt per Referenz übergeben<br />
3. push_back erzeugt einen Listenknoten auf dem Heap und <strong>kopiert</strong> das übergebene Node-Objekt dort rein<br />
4. das in Schritt 1 erzeugte Node-Objekt wird, da es ein temporäres Objekt ist, am Ende des Statements zerstört (sonst bei Verlassen des Scopes)</p>
<p>es existiert jetzt nur noch ein Node als Teil eines Listenknotens auf dem Heap.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684306</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:39:55 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 14:43:38 GMT]]></title><description><![CDATA[<p>Advanced C++ hat nen schönes Beispiel mit Erklärung für einen Small-Object-Allocator.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684310</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:43:38 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 14:53:17 GMT]]></title><description><![CDATA[<p>Ah, das ist cool, danke für eure Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684318</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:53:17 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 17:52:15 GMT]]></title><description><![CDATA[<p>Eine Frage hätte ich doch noch:</p>
<p>Test 1:<br />
Eine Millionen Knoten in einen vector speichern.<br />
Knoten haben 6 integer (24 byte).<br />
Speicherverbrauch ~25 mb.</p>
<p>Test 2:<br />
Eine Millionen Knoten in einen vector speichern.<br />
Knoten haben einen vector (24 byte).<br />
Speicherverbrauch ~41 mb.</p>
<p>Woran liegt das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684398</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 17:52:15 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 17:57:32 GMT]]></title><description><![CDATA[<p>Sehrwahrscheinlich liegt es daran, dass der <code>std::vector</code> ein wenig Speicher auf Vorrat allokiert, um besseres Laufzeitverhalten zu erzeugen. Bei vielen kleinen Containern macht das etwas aus.</p>
<p>Um mehr zu sagen, müsstest du uns den Code zeigen und sagen, wieviel bei dir <code>sizeof</code> des jeweiligen Elementtypen ausgibt. Eventuell spielt Alignment auch noch eine Rolle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684401</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 22 Mar 2009 17:57:32 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 18:22:20 GMT]]></title><description><![CDATA[<p>Test 1:</p>
<pre><code>class Node
{
private:
	int a;
	int b;
	int c;
	int d;
	int e;
	int f;

public:
	Node();
	~ Node();
};
</code></pre>
<pre><code>Node:: Node()
{

}

Node::~ Node()
{

}
</code></pre>
<pre><code>int main(int agc, char* argv[])
{
	std::vector&lt; Node &gt; field;
	for (int i = 0; i &lt; 1000000; i++)
	{
		field.push_back(Node());
	}
	std::cout&lt;&lt;sizeof(Node)&lt;&lt;std::endl;
	std::cout&lt;&lt;sizeof(int)&lt;&lt;std::endl;
	std::cin.get();
	return 0;
}
</code></pre>
<p>Die Ausgabe ist:<br />
24<br />
4</p>
<p>taskmanager: 25192 kb</p>
<p>Und Test 2:</p>
<pre><code>class Node
{
private:
	std::vector&lt;int&gt; myVec;

public:
	Node();
	~ Node();
};
</code></pre>
<pre><code>Node:: Node()
{

}

Node::~ Node()
{

}
</code></pre>
<pre><code>int main(int agc, char* argv[])
{
	std::vector&lt; Node &gt; field;
	for (int i = 0; i &lt; 1000000; i++)
	{
		field.push_back(Knoten());
	}
	std::cout&lt;&lt;sizeof(Node)&lt;&lt;std::endl;
	std::cout&lt;&lt;sizeof(std::vector&lt;int&gt;)&lt;&lt;std::endl;
	std::cin.get();
	return 0;
}
</code></pre>
<p>Die Ausgabe ist:<br />
24<br />
24</p>
<p>Taskmanager: 40856 kb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684408</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 18:22:20 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 19:52:43 GMT]]></title><description><![CDATA[<p>Was denkst Du mit <strong>sizeof(std::vector&lt;int&gt;)</strong> zu messen?<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684466</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sun, 22 Mar 2009 19:52:43 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 20:08:47 GMT]]></title><description><![CDATA[<p>Den Speicher den myVec belegt.<br />
myVec.capacity() ist übrigens 0.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684472</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 20:08:47 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 20:13:50 GMT]]></title><description><![CDATA[<p>theta schrieb:</p>
<blockquote>
<p>Was denkst Du mit <strong>sizeof(std::vector&lt;int&gt;)</strong> zu messen?<br />
Simon</p>
</blockquote>
<p>Da er den <code>std::vector&lt;int&gt;</code> nicht füllt, sollte das bereits die gesamte Grösse sein.</p>
<p>muuh schrieb:</p>
<blockquote>
<p>Den Speicher den myVec belegt.</p>
</blockquote>
<p>Vorsicht, <code>sizeof</code> gibt nur nur die Grösse des Objekts (zur Compilezeit) Bescheid und sagt nichts über den tatsächlichen Speicherverbrauch aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684475</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 22 Mar 2009 20:13:50 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 20:16:39 GMT]]></title><description><![CDATA[<p>**@muuh:**Aus reiner Neugier: Welchen Wert vermutest Du für s?</p>
<pre><code class="language-cpp">struct Object
{
	Object() : value(0) {}
	long* value;
};

int main()
{
	Object object;
	object.value = new long[256];

	size_t s = sizeof(object);

	delete[] object.value;	
}
</code></pre>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684477</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sun, 22 Mar 2009 20:16:39 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 20:18:27 GMT]]></title><description><![CDATA[<p>muuh, was sagt <code>capacity()</code> zu den grossen Vectoren aus? Sind beide gleich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684478</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 22 Mar 2009 20:18:27 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof(int) 4 bytes, im Taskmanager ~17 bytes on Sun, 22 Mar 2009 20:41:13 GMT]]></title><description><![CDATA[<p>@ theta: Kein Schimmer, der Pointer wird wohl 4 sein. Ich weiss nicht was Object() : value(0) {} darstellt, daher tipp ich einfach mal auf 4.</p>
<p>@ Nexus: 1049869 wird in beiden Fällen für field.capacity() angezeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684487</guid><dc:creator><![CDATA[muuh]]></dc:creator><pubDate>Sun, 22 Mar 2009 20:41:13 GMT</pubDate></item></channel></rss>