<?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-Container]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin gerade dabei C++ mit &quot;Microsoft Visual 2005&quot; zu erlernen und stehe vor meinem ersten Problem mit Vektoren.<br />
Ich möchte einen Vektor mit Persondaten füllen.<br />
Ich habe als erstes eine Struktur mit den Variablen Name, Alter und Telefon definiert.</p>
<pre><code class="language-cpp">struct perondaten{char name[]; int alter; char telefon[];};
</code></pre>
<p>Person1 und person2 sind vom Typ persondaten, die ich dann im Vektor ablegen möchte.</p>
<pre><code class="language-cpp">vector&lt;persondaten&gt; freunde; 
persondaten={&quot;Hans Peter&quot;, 23, &quot;08976543210&quot;}; 
freunde.push_back(person1); 
persondaten={&quot;Stefan&quot;, 21, &quot;062123456789&quot;}; 
freunde.push_back(person2);
</code></pre>
<p>stimmt das so, oder?</p>
<p>mit freunde[i] sollte man auf die gespeicherte Daten der Person_i zugreifen, ja?<br />
Jetzt meine Frage: wie kann ich jetzt &quot;NUR&quot; auf ein ein bestimmtes Atribut einer Person zugreifen, wie z.B die telefonnummer der zweiten Person?<br />
Danke im voraus.</p>
<p>Gruß.</p>
<p>PS: Ich habe vorhin den Thread aus Versehen im falschen Forumbereich geschrieben. sorry</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162875/vector-container</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 20:00:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162875.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Oct 2006 00:57:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector-Container on Tue, 24 Oct 2006 00:57:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin gerade dabei C++ mit &quot;Microsoft Visual 2005&quot; zu erlernen und stehe vor meinem ersten Problem mit Vektoren.<br />
Ich möchte einen Vektor mit Persondaten füllen.<br />
Ich habe als erstes eine Struktur mit den Variablen Name, Alter und Telefon definiert.</p>
<pre><code class="language-cpp">struct perondaten{char name[]; int alter; char telefon[];};
</code></pre>
<p>Person1 und person2 sind vom Typ persondaten, die ich dann im Vektor ablegen möchte.</p>
<pre><code class="language-cpp">vector&lt;persondaten&gt; freunde; 
persondaten={&quot;Hans Peter&quot;, 23, &quot;08976543210&quot;}; 
freunde.push_back(person1); 
persondaten={&quot;Stefan&quot;, 21, &quot;062123456789&quot;}; 
freunde.push_back(person2);
</code></pre>
<p>stimmt das so, oder?</p>
<p>mit freunde[i] sollte man auf die gespeicherte Daten der Person_i zugreifen, ja?<br />
Jetzt meine Frage: wie kann ich jetzt &quot;NUR&quot; auf ein ein bestimmtes Atribut einer Person zugreifen, wie z.B die telefonnummer der zweiten Person?<br />
Danke im voraus.</p>
<p>Gruß.</p>
<p>PS: Ich habe vorhin den Thread aus Versehen im falschen Forumbereich geschrieben. sorry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1160000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1160000</guid><dc:creator><![CDATA[der_neu]]></dc:creator><pubDate>Tue, 24 Oct 2006 00:57:36 GMT</pubDate></item><item><title><![CDATA[Reply to Vector-Container on Tue, 24 Oct 2006 01:31:49 GMT]]></title><description><![CDATA[<p>Denke das Forum passt schon, ist keine MSVC-spezifische Frage.</p>
<p>Auf die telefonnummer kannst du bei &quot;freunde[123]&quot; genau so zugreifen wie wenn &quot;freunde[123]&quot; eine Instanz von &quot;perondaten&quot; wäre, also mittels &quot;freunde[123].telefonnummer&quot;. Lesend und schreibend, oder falls &quot;freunde&quot; const ist halt nur lesend.</p>
<p>Und mit dem &quot;char name[]&quot; wirst du nicht glücklich werden - wundert mich dass das überhaupt geht. Macht nur am Ende einer POD struct Sinn, und auch nur dann wenn man die in passender Grösse mittels malloc/new char[] (+ cast) anlegt.<br />
Weiss auch garnicht ob das in Standard-C++ geht.</p>
<p>Verwende lieber nen std::string (gut), oder ein Array fixer Grösse, also name[50] oder was auch immer (IMHO meistens weniger gut).</p>
<p>Für &quot;char telefon[]&quot; gilt natürlich dasselbe wie für &quot;char name[]&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1160004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1160004</guid><dc:creator><![CDATA[Plotzenhotz]]></dc:creator><pubDate>Tue, 24 Oct 2006 01:31:49 GMT</pubDate></item><item><title><![CDATA[Reply to Vector-Container on Tue, 24 Oct 2006 02:08:20 GMT]]></title><description><![CDATA[<p>Plotzenhotz schrieb:</p>
<blockquote>
<p>Und mit dem &quot;char name[]&quot; wirst du nicht glücklich werden - wundert mich dass das überhaupt geht. Macht nur am Ende einer POD struct Sinn, und auch nur dann wenn man die in passender Grösse mittels malloc/new char[] (+ cast) anlegt.<br />
Weiss auch garnicht ob das in Standard-C++ geht.</p>
</blockquote>
<p>nein mit char name[] wird man in der tat nicht glücklich da es als unvollständiger typ angesehen wird und es sollte auch nicht funktionieren. auch wenn es einem char* am nächsten kommt.<br />
es macht in dieser art auch nicht am ende eines struct sinn, wobei dies bereits ein pod struct ist.<br />
auch ist ein foo[] in initialform statisch und man wird wohl auch mit einem cast nicht glücklicher werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1160005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1160005</guid><dc:creator><![CDATA[Cpt. Tanga]]></dc:creator><pubDate>Tue, 24 Oct 2006 02:08:20 GMT</pubDate></item><item><title><![CDATA[Reply to Vector-Container on Tue, 24 Oct 2006 10:28:18 GMT]]></title><description><![CDATA[<p>verwende lieber eine klasse mit konstruktor und metthoden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1160195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1160195</guid><dc:creator><![CDATA[tnaj]]></dc:creator><pubDate>Tue, 24 Oct 2006 10:28:18 GMT</pubDate></item><item><title><![CDATA[Reply to Vector-Container on Tue, 24 Oct 2006 23:47:00 GMT]]></title><description><![CDATA[<p>@Cpt. Tanga:<br />
also sowas wie</p>
<pre><code class="language-cpp">struct Foo
{
    int blubb;
    char daten[];
};
</code></pre>
<p>ist in C sehr üblich. Findet man oft auch als &quot;char daten[1];&quot;. Und es macht Sinn, weil es nämlich kein Zeiger ist, sondern ein &quot;offenes Array&quot; - zumindest wenn man es so verwendet <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="😉"
    /><br />
Wenn man für eine Instanz von &quot;Foo&quot; nämlich &quot;sizeof(Foo) + dataSize&quot; alloziert, dann kann man die Daten schön nach &quot;daten&quot; reinschreiben.<br />
Also ich sollte sagen es macht &quot;Sinn&quot;, denn man kann damit ein bestimmtes Ziel erreichen. Dass man es in C++ auch besser machen kann ist dann wieder eine andere Sache.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1160683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1160683</guid><dc:creator><![CDATA[Plotzenhotz]]></dc:creator><pubDate>Tue, 24 Oct 2006 23:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to Vector-Container on Wed, 25 Oct 2006 01:15:22 GMT]]></title><description><![CDATA[<p>gibts in c++ nicht mehr und ja da gibts auch deutlich bessere wege..<br />
naja gut .. in c kann man ja auch noch sowas wie foo vec[0]; schreiben stimmt warum auch nicht *lach*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1160693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1160693</guid><dc:creator><![CDATA[Cpt. Tanga]]></dc:creator><pubDate>Wed, 25 Oct 2006 01:15:22 GMT</pubDate></item></channel></rss>