<?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[zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt;]]></title><description><![CDATA[<p>Hallo!</p>
<p>ich habe ein Problem mit dem Zugriff auf Objekte in einem Vector-Object.</p>
<p>Im Vector sollen zeiger auf Objekte des Typs object gespeichert sein.</p>
<p>nur als Beispiel:</p>
<pre><code class="language-cpp">struct object {

int x

//getter + setter
};

vector &lt;object&amp;&gt; objects;

//...Füllen des objects-Vectors
</code></pre>
<p>Wie greiffe ich dann auf die Attribute eines Objects zu?</p>
<p>so objects[i].x oder villeicht so objects&amp;[i].x ??</p>
<p>Danke für euere Hilfe <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/222765/zugriff-auf-objekte-in-vector-lt-struct-amp-gt</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 20:46:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/222765.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Sep 2008 08:12:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 08:12:33 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>ich habe ein Problem mit dem Zugriff auf Objekte in einem Vector-Object.</p>
<p>Im Vector sollen zeiger auf Objekte des Typs object gespeichert sein.</p>
<p>nur als Beispiel:</p>
<pre><code class="language-cpp">struct object {

int x

//getter + setter
};

vector &lt;object&amp;&gt; objects;

//...Füllen des objects-Vectors
</code></pre>
<p>Wie greiffe ich dann auf die Attribute eines Objects zu?</p>
<p>so objects[i].x oder villeicht so objects&amp;[i].x ??</p>
<p>Danke für euere Hilfe <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1583269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583269</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Wed, 17 Sep 2008 08:12:33 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 08:23:18 GMT]]></title><description><![CDATA[<blockquote>
<p>vector &lt;object&amp;&gt; objects;</p>
</blockquote>
<p>Würde entweder Pointer oder Objekte reintun.</p>
<p>Ansonsten:</p>
<pre><code class="language-cpp">vector &lt;object&gt; objects;
int i = objects[0].x;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1583281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583281</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Wed, 17 Sep 2008 08:23:18 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 08:42:25 GMT]]></title><description><![CDATA[<p>free_style schrieb:</p>
<blockquote>
<p>vector &lt;object&amp;&gt; objects;</p>
</blockquote>
<p>Du kannst keine Referenzen auf Objekte in einen Vektor speichern. Entweder Objekte oder Zeiger, aber keine Referenzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1583297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583297</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 17 Sep 2008 08:42:25 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 08:54:09 GMT]]></title><description><![CDATA[<p>Mhh habt Ihr dann evtl. ne andere Lösung...</p>
<p>es geht darum zuerst Objecte vom Typ struct object zu generieren, also</p>
<p>object o1, o2, o3;</p>
<p>und diese dann in einer Liste zu speichern um sie durch eine For-Schleife abfragbar zu machen, sodass nicht jedes Objekt immer einzeln angesprochen werden muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1583307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583307</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Wed, 17 Sep 2008 08:54:09 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 08:56:04 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>free_style schrieb:</p>
<blockquote>
<p>vector &lt;object&amp;&gt; objects;</p>
</blockquote>
<p>Du kannst keine Referenzen auf Objekte in einen Vektor speichern. Entweder Objekte oder Zeiger, aber keine Referenzen.</p>
</blockquote>
<p>Und wie speichere ich Zeiger auf Objekte in einem Vector?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1583308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583308</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Wed, 17 Sep 2008 08:56:04 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 08:56:50 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">vector&lt;objekte*&gt; dein_objekt;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1583309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583309</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Wed, 17 Sep 2008 08:56:50 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 09:35:30 GMT]]></title><description><![CDATA[<p>Ich steht grad irgendwie auf'm Schlauch...</p>
<p>also ich erstelle mir Objekte z.B. von einem Typ Tier:</p>
<pre><code class="language-cpp">struct tier(

int gewicht;
int beine;

// Konstruktor, getter, setter
);

tier hase, huhn, pferd;
</code></pre>
<p>die speichere ich dann in einem vector:</p>
<pre><code class="language-cpp">vector &lt;tier&gt; viecher;

vector[0] = hase;
vector[1] = huhn;
vector[2] = pferd;
</code></pre>
<p>wenn ich jetzt auf ein objekt in viecher zugreife, greife ich dann auf das Originalobjekt zu?</p>
<p>gilt also: hase.gewicht = vector[0].gewicht ?</p>
<p>Danke für euere tips...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1583342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583342</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Wed, 17 Sep 2008 09:35:30 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 09:38:13 GMT]]></title><description><![CDATA[<p>free_style schrieb:</p>
<blockquote>
<p>Mhh habt Ihr dann evtl. ne andere Lösung...</p>
<p>es geht darum zuerst Objecte vom Typ struct object zu generieren, also</p>
<p>object o1, o2, o3;</p>
<p>und diese dann in einer Liste zu speichern um sie durch eine For-Schleife abfragbar zu machen, sodass nicht jedes Objekt immer einzeln angesprochen werden muss.</p>
</blockquote>
<p>Wenn du mit Objektkopien einverstanden bist, verwende Objekte im Vector (std::vector&lt;object&gt;). Ansonsten musst du halt mit Zeigern arbeiten (std::vector&lt;object*&gt;).</p>
<p>Wobei ich mich frage warum du die Objekte dann nicht gleich im push_back erzeugst. Ohne gleich auf weitere vector-Möglichkeiten einzugehen:</p>
<pre><code class="language-cpp">//...

int main()
{
    std::vector&lt;object&gt; objectList;
    for(int i=0; i&lt;10; ++i)
    {
        objectList.push_back(object()); // Hinzufügen eines neuen &quot;object&quot;
        objectList[i].x = i;
    }

    int xSumme = 0;
    for(int i=0; i&lt;10; ++i)
        xSumme += objectList[i].x;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1583345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583345</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 17 Sep 2008 09:38:13 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 09:40:15 GMT]]></title><description><![CDATA[<p>Du greifst auf eine Kopie deiner Objekte zu.<br />
Dein Code würde so wie er da steht aber auch nicht funktionieren, da dein Vektor noch die Länge 0 hätte. Entweder du gibst ihm schon im Konstruktor eine Länge mit, oder du fügst deine Objekte mit push_back ein. Dann würde die Länge automatisch angepasst.</p>
<pre><code class="language-cpp">vector &lt;tier&gt; viecher;
// jetzt werden deine Objekte in den Vektor kopiert.
vector.push_back(hase);
vector.push_back(huhn);
vector.push_back(pferd);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1583348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583348</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 17 Sep 2008 09:40:15 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 09:41:59 GMT]]></title><description><![CDATA[<p>free_style schrieb:</p>
<blockquote>
<p>wenn ich jetzt auf ein objekt in viecher zugreife, greife ich dann auf das Originalobjekt zu?</p>
</blockquote>
<p>Nein, std::vector arbeitet wie jeder Standardkontainer mit Kopien (Daher auch die Anforderung das Objekte kopierbar sein müssen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1583350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583350</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 17 Sep 2008 09:41:59 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 11:18:59 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Nein, std::vector arbeitet wie jeder Standardkontainer mit Kopien (Daher auch die Anforderung das Objekte kopierbar sein müssen).</p>
</blockquote>
<p>Etwas genauer: Wegen der Kopien in den Containern müssen die Objekte copy-konstruierbar sein. Bei vector und deque müssen sie zusätzlich noch copy-assignable sein, da diese intern die Objekte &quot;herumkopieren&quot; können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1583430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583430</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 17 Sep 2008 11:18:59 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 11:28:58 GMT]]></title><description><![CDATA[<p>SUPER !!!</p>
<p>Vielen Danke euch allen - funktioniert alles!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1583436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583436</guid><dc:creator><![CDATA[free_style]]></dc:creator><pubDate>Wed, 17 Sep 2008 11:28:58 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf Objekte in vector &amp;lt;struct&amp;amp;&amp;gt; on Wed, 17 Sep 2008 12:37:15 GMT]]></title><description><![CDATA[<p>Nur so am Rande:</p>
<p>free_style schrieb:</p>
<blockquote>
<pre><code class="language-cpp">struct tier(

int gewicht;
int beine;

// Konstruktor, getter, setter
);
</code></pre>
</blockquote>
<p>Ich würde dir raten, die Member <code>private</code> zu machen, sonst verfehlen die Getter und Setter ihren Sinn. Oder du machst gleich ein C-Style-POD. Und Block-Klammern sind eigentlich geschweift.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1583501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1583501</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 17 Sep 2008 12:37:15 GMT</pubDate></item></channel></rss>