<?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[vector mit struct auf heap]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich versuche gerade unter c++ auf dem heap einen vector mit struktur anzulegen, was eigentlich auch funktioniert.</p>
<p>Ich verstehe jetzt nur nicht genau, wie ich die werte wieder ausgeben kann.</p>
<p>soweit bin ich bis jetzt.</p>
<p>es funktioniert alles bis auf die auskommentierte linie:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;vector&gt;

using namespace std;

 struct test {

	int aa;
	string bb;

 };

int main(int argc, char* argv[])
{

	vector&lt;test&gt; rr;
	vector&lt;test&gt;* v2;
	test ab;

	ab.aa = 5;
	ab.bb = &quot;asdasd&quot;;

	rr.push_back(ab);

	cout &lt;&lt; rr[0].aa &lt;&lt; &quot;  &quot; &lt;&lt; rr[0].bb &lt;&lt; endl;

	v2 = new vector&lt;test&gt;;

	v2-&gt;push_back(ab);
	v2-&gt;push_back(ab);
	v2-&gt;push_back(ab);

	//cout &lt;&lt; v2[0]-&gt;aa;

	getchar();

	return 0;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/216994/vector-mit-struct-auf-heap</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 23:03:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216994.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 01 Jul 2008 18:26:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector mit struct auf heap on Tue, 01 Jul 2008 18:26:20 GMT]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich versuche gerade unter c++ auf dem heap einen vector mit struktur anzulegen, was eigentlich auch funktioniert.</p>
<p>Ich verstehe jetzt nur nicht genau, wie ich die werte wieder ausgeben kann.</p>
<p>soweit bin ich bis jetzt.</p>
<p>es funktioniert alles bis auf die auskommentierte linie:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;vector&gt;

using namespace std;

 struct test {

	int aa;
	string bb;

 };

int main(int argc, char* argv[])
{

	vector&lt;test&gt; rr;
	vector&lt;test&gt;* v2;
	test ab;

	ab.aa = 5;
	ab.bb = &quot;asdasd&quot;;

	rr.push_back(ab);

	cout &lt;&lt; rr[0].aa &lt;&lt; &quot;  &quot; &lt;&lt; rr[0].bb &lt;&lt; endl;

	v2 = new vector&lt;test&gt;;

	v2-&gt;push_back(ab);
	v2-&gt;push_back(ab);
	v2-&gt;push_back(ab);

	//cout &lt;&lt; v2[0]-&gt;aa;

	getchar();

	return 0;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1539279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1539279</guid><dc:creator><![CDATA[anno]]></dc:creator><pubDate>Tue, 01 Jul 2008 18:26:20 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit struct auf heap on Tue, 01 Jul 2008 18:42:50 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">cout &lt;&lt; (*v2)[0].aa;
</code></pre>
<p>EDIT:<br />
Erklärung ist vlt. auch nötig. <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>Da v2 ein Zeiger ist, musst du ihn dereferenzieren, wenn du per [] - Operator darauf zugreifst. Anschliessend hast du ein Objekt test und kannst ganz einfach mit dem . - Operator auf die Elemente zugreifen.</p>
<p>Btw:<br />
Es ist nicht nötig, dass DU den vector &quot;auf dem Heap&quot; erstellst. std::vector ist relativ intelligent. <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/1539287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1539287</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 01 Jul 2008 18:42:50 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit struct auf heap on Wed, 02 Jul 2008 05:34:40 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>...Btw:<br />
Es ist nicht nötig, dass DU den vector &quot;auf dem Heap&quot; erstellst. std::vector ist relativ intelligent. <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>Nochmal von mir wiederholt, weil es so wichtig ist. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>... außerdem sollte man NIE das delete weglassen (ist genau wie das Blinken beim Abbiegen: Wenn man es zur Gewohnheit macht, fährt man sicherer).</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1539414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1539414</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 02 Jul 2008 05:34:40 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit struct auf heap on Wed, 02 Jul 2008 08:09:12 GMT]]></title><description><![CDATA[<p>preisfrage:<br />
wie kann ein vector dynamisch wachsen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1539475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1539475</guid><dc:creator><![CDATA[quizmaster]]></dc:creator><pubDate>Wed, 02 Jul 2008 08:09:12 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit struct auf heap on Wed, 02 Jul 2008 08:20:42 GMT]]></title><description><![CDATA[<p>intern hat der vector( wenn er erzeugt wird) eine vordefinierte größe.<br />
Wenn man jetzt bspw. durch push_back neue elemente anfügt, und die max. Vorresrevierte größe ist erreicht, wird eine temporäre vector erzeugt mit bspw. doppelter größe als der aktuelle, die daten werden kopiert, und der referenz der neue vector verwiesen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1539481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1539481</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 02 Jul 2008 08:20:42 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit struct auf heap on Wed, 02 Jul 2008 08:39:07 GMT]]></title><description><![CDATA[<p>Hi Boris,</p>
<p>da bist Du ziemlich sicher einer rhetorischen Frage auf den Leim gegangen. <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>quizmaster schrieb:</p>
<blockquote>
<p>preisfrage:<br />
wie kann ein vector dynamisch wachsen?</p>
</blockquote>
<p>Och, das kann man (in Grenzen) auch mit einem internen Stackvariablen machen... ich musste mal in meinen Anfangstagen auf der Arbeit eine &quot;dynamische Speicherverwaltung auf Basis von Stack-Variablen&quot; schreiben. Ist nicht schön, geht aber.</p>
<p>Gruß,</p>
<p>Simon2.</p>
<p>P.S.: Wenn ich recht gesehen habe, gibt's nicht wenige std::string-Implementationen, die bis zu gewissen Stringlängen auch auf einer internen Stackvariable arbeiten....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1539495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1539495</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 02 Jul 2008 08:39:07 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit struct auf heap on Wed, 02 Jul 2008 10:24:24 GMT]]></title><description><![CDATA[<p>Das interessiert mich aber. Kann mir unter internen Stackvariable jetzt nicht so viel vorstellen.<br />
Kannst bitte ein kleines Beispiel machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1539566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1539566</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Wed, 02 Jul 2008 10:24:24 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit struct auf heap on Wed, 02 Jul 2008 10:32:58 GMT]]></title><description><![CDATA[<p>Bei std::string gibts z.B. impl. die bei weniger als 8 Zeichen, ein char data[8] verwenden, jedoch bei mehr zeichen ein char* pData = new char[...] anlegen.<br />
(Die 8 char von data sind dann verschwendet und leer...)</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1539573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1539573</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Wed, 02 Jul 2008 10:32:58 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit struct auf heap on Wed, 02 Jul 2008 17:58:21 GMT]]></title><description><![CDATA[<p>@ganz oben^^:</p>
<p>wenn du vielleicht dein test-struct komplett ausgeben lassen willst,<br />
dann kannst du ja eine globale Funktion schreiben, die den Shift-Operator &quot;&lt;&lt;&quot; überläd, wie folgt:</p>
<pre><code class="language-cpp">ostream &amp; operator&lt;&lt;(ostream &amp; out, const test t)
{
    out &lt;&lt; t.aa &lt;&lt; &quot; &quot; &lt;&lt; t.bb;
    return out;
}
</code></pre>
<p>Der Vorteil ist folgender:<br />
Anstelle von cout &lt;&lt; (*v2)[0].aa; bzw cout &lt;&lt; (*v2)[0].bb; brauchst du nur</p>
<pre><code class="language-cpp">cout &lt;&lt; (*v2)[0]; zu schreiben^^
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1539927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1539927</guid><dc:creator><![CDATA[Quellcode]]></dc:creator><pubDate>Wed, 02 Jul 2008 17:58:21 GMT</pubDate></item></channel></rss>