<?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 &amp;quot;struct&amp;quot;-Elementen füllen]]></title><description><![CDATA[<p>Mit Normalen Werten funktioniert der Vektor wunderbar:</p>
<pre><code>std::vector&lt;int&gt; int_vect(16);
 for( int i=0; i &lt; (int)(int_vect.size()); i++ ){
    int_vect[i] = (double)i;
 }

 int size = int_vect.size();
 for( int i=0; i&lt;size; i++ ){
    cout &lt;&lt; int_vect[i] &lt;&lt; &quot; &quot;;
 }
</code></pre>
<p>Ich brauche das selbe wie oben aber mit einem selbst definierten Typ machen.<br />
Wie kann ich einem Vektor mit einem selbst definierten Typ Werte zuweisen?<br />
Hab mir das so vorgestellt:</p>
<pre><code>struct MyStructure{   // mein datenTyp
	int index;
	double value;
};
</code></pre>
<pre><code>std::vector&lt;MyStructure *&gt; vect(16);    // baue Vektor mit 16 Elementen vom Typ MyStructure
  MyStructure *inhalt = new MyStructure;

  for( int i=0; i&lt;(int)(vect.size()); i++ ){
    inhalt -&gt;index = i;
    inhalt -&gt;value = 9.999;
    vect[i]= inhalt;
  }
</code></pre>
<p>Funktioniert aber nicht. bzw ich kann die elemente nicht mehr auslesen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Kann mir jemand helfen?<br />
Das ist sicher ganz einfach, hab aber noch nie mit Vektoren gearbeitet.</p>
<p>Gruß,<br />
Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/68506/vector-mit-quot-struct-quot-elementen-füllen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 13:14:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/68506.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Mar 2004 14:29:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector mit &amp;quot;struct&amp;quot;-Elementen füllen on Thu, 18 Mar 2004 14:29:17 GMT]]></title><description><![CDATA[<p>Mit Normalen Werten funktioniert der Vektor wunderbar:</p>
<pre><code>std::vector&lt;int&gt; int_vect(16);
 for( int i=0; i &lt; (int)(int_vect.size()); i++ ){
    int_vect[i] = (double)i;
 }

 int size = int_vect.size();
 for( int i=0; i&lt;size; i++ ){
    cout &lt;&lt; int_vect[i] &lt;&lt; &quot; &quot;;
 }
</code></pre>
<p>Ich brauche das selbe wie oben aber mit einem selbst definierten Typ machen.<br />
Wie kann ich einem Vektor mit einem selbst definierten Typ Werte zuweisen?<br />
Hab mir das so vorgestellt:</p>
<pre><code>struct MyStructure{   // mein datenTyp
	int index;
	double value;
};
</code></pre>
<pre><code>std::vector&lt;MyStructure *&gt; vect(16);    // baue Vektor mit 16 Elementen vom Typ MyStructure
  MyStructure *inhalt = new MyStructure;

  for( int i=0; i&lt;(int)(vect.size()); i++ ){
    inhalt -&gt;index = i;
    inhalt -&gt;value = 9.999;
    vect[i]= inhalt;
  }
</code></pre>
<p>Funktioniert aber nicht. bzw ich kann die elemente nicht mehr auslesen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Kann mir jemand helfen?<br />
Das ist sicher ganz einfach, hab aber noch nie mit Vektoren gearbeitet.</p>
<p>Gruß,<br />
Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/483502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/483502</guid><dc:creator><![CDATA[StefanXP]]></dc:creator><pubDate>Thu, 18 Mar 2004 14:29:17 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mit &amp;quot;struct&amp;quot;-Elementen füllen on Thu, 18 Mar 2004 14:42:28 GMT]]></title><description><![CDATA[<p>Du erzeugst einen vector von Pointern, und läßt jeden einzelnen Pointer auf das gleiche Objekt zeigen. Du erzeugst ja auch nur ein Objekt, wo du immer wieder die Werte änderst. Ich glaube nicht das das ist was du willst.</p>
<p>Gruß<br />
Entyl Sa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/483518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/483518</guid><dc:creator><![CDATA[Entyl_Sa]]></dc:creator><pubDate>Thu, 18 Mar 2004 14:42:28 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mit &amp;quot;struct&amp;quot;-Elementen füllen on Thu, 18 Mar 2004 14:46:31 GMT]]></title><description><![CDATA[<p>Du speicherst Pointer auf ein Objekt 16 mal ?<br />
Schreib das so :</p>
<pre><code class="language-cpp">std::vector&lt;MyStructure *&gt; vect(16);
MyStructure *inhalt = 0x0;
for(int i=0; i &lt; (int)(vect.size()); ++i) {
    inhalt = new MyStructure;
    inhalt -&gt;index = i;
    inhalt -&gt;value = 9.999;
    vect[i]= inhalt;
}
</code></pre>
<p>[edit]Ahhm, da war schon jemand ![/edit]</p>
<p>mfg BlueShift</p>
]]></description><link>https://www.c-plusplus.net/forum/post/483521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/483521</guid><dc:creator><![CDATA[BlueShift]]></dc:creator><pubDate>Thu, 18 Mar 2004 14:46:31 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mit &amp;quot;struct&amp;quot;-Elementen füllen on Thu, 18 Mar 2004 15:15:02 GMT]]></title><description><![CDATA[<p>warum zeiger??</p>
<p>Mach doch lieber in die struct nen Ctor rein und dann alles schön by value machen:</p>
<p>vec.push_back(myStruct(3, 99.9));</p>
]]></description><link>https://www.c-plusplus.net/forum/post/483545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/483545</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Thu, 18 Mar 2004 15:15:02 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mit &amp;quot;struct&amp;quot;-Elementen füllen on Thu, 18 Mar 2004 17:01:53 GMT]]></title><description><![CDATA[<p>Danke euch!<br />
dumm von mir <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>Hier das ganze noch mit Ausgabe für andere Anfänger:</p>
<pre><code class="language-csharp">std::vector&lt;MyStructure *&gt; vect(16);
MyStructure *inhalt = 0x0;
for(int i=0; i &lt; (int)(vect.size()); ++i) {
    inhalt = new MyStructure;
    inhalt -&gt;index = i;
    inhalt -&gt;value = 9.999;
    vect[i]= inhalt;
} 

int size = inhalt.size();
for( int i=0; i&lt;size; i++ ){
    cerr &lt;&lt; &quot;index:&quot; &lt;&lt; (inhalt [i])-&gt;index &lt;&lt; &quot; &quot;;
    cerr &lt;&lt; &quot;value:&quot; &lt;&lt; (inhalt [i])-&gt;value &lt;&lt; &quot; &quot;;
}
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5795">@BlueShift</a>: ist 0x0 das selbe wie NULL?<br />
@Shade Of Mine: was ist ein &quot;Ctor&quot; ?? <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 />
aber den aufbau mit push_back finde ich nicht so gut. Da Vectoren eigentlich nur für feste Anzahlen von Elementen effizient sind. Ansonsten nimmt man meines wissens soweit wie möglich listen.</p>
<p>Gruß,<br />
Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/483641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/483641</guid><dc:creator><![CDATA[StefanXP]]></dc:creator><pubDate>Thu, 18 Mar 2004 17:01:53 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mit &amp;quot;struct&amp;quot;-Elementen füllen on Thu, 18 Mar 2004 17:27:09 GMT]]></title><description><![CDATA[<p>StefanXP schrieb:</p>
<blockquote>
<p>ist 0x0 das selbe wie NULL?</p>
</blockquote>
<p>0x0 = 0 = NULL nur andere Schreibweisen.</p>
<p>StefanXP schrieb:</p>
<blockquote>
<p>was ist ein &quot;Ctor&quot; ?? <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>
</blockquote>
<p>Ctor = Konstruktor<br />
Das würde bei dir etwa so aussehen:</p>
<pre><code class="language-cpp">struct MyStructure{   // mein datenTyp
	MyStructure(int i, double v):index(i),value(v){} //Konstruktor (Ctor)
    int index;
    double value;
};

int main()
{
  std::vector&lt;MyStructure *&gt; vect(16);

  for( int i=0; i&lt;(int)(vect.size()); i++ ){
	  vect[i] = new MyStructure(i, 9.999);
  }

  for(i=0; i&lt;(int)(vect.size()); i++ ){
	  std::cout&lt;&lt;vect[i]-&gt;index&lt;&lt;&quot; &quot;&lt;&lt;vect[i]-&gt;value&lt;&lt;endl;
  }

  return 0;
}
</code></pre>
<p>Gruß<br />
Entyl Sa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/483673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/483673</guid><dc:creator><![CDATA[Entyl_Sa]]></dc:creator><pubDate>Thu, 18 Mar 2004 17:27:09 GMT</pubDate></item><item><title><![CDATA[Reply to Vector mit &amp;quot;struct&amp;quot;-Elementen füllen on Thu, 18 Mar 2004 17:48:03 GMT]]></title><description><![CDATA[<p>Das ist ja absolut Geil!!!! <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="👍"
    /> *freu*<br />
Danke!<br />
Das ist ja noch vieeel besser als ich es anfangs geplant hatte!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/483698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/483698</guid><dc:creator><![CDATA[StefanXP]]></dc:creator><pubDate>Thu, 18 Mar 2004 17:48:03 GMT</pubDate></item></channel></rss>