<?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[std::vector - Verschachteltes Problem]]></title><description><![CDATA[<p>Hallo,<br />
Ich habe eine Struktur mit 2 Vektoren, die sich wieder auf eine andere Struktur beziehen, aber das ist unwichtig. Nun habe ich von dieser Struktur einen Vektor. Die Frage ist nun, wie ich dadurch iteriere. Logisch gesehen müsste folgender Code richtig sein: (Vorsicht, Namen abgeändert damit verständlicher!)</p>
<pre><code class="language-cpp">std::vector&lt;Vektor_von_Struktur&gt;::const_iterator iStruct;

for( iStruct = Vektor_von_Struktur.begin( ); iStruct &lt; Vektor_von_Struktur.end( ); ++iStruct)
{
	const unsigned int i = *iStruct;

	for( std::vector&lt;Vektor_von_Struktur[i].Vektor_in_Struktur&gt;::iterator iVec1 =Vektor_von_Struktur[i].Vektor_in_Struktur.begin( ); iVec1&lt; Vektor_von_Struktur[i].Vektor_in_struktur.end( ); ++iVec1 )
	{
		for( std::vector&lt;Vektor_von_Struktur[i].Weiterer_Vektor_in_Struktur&gt;::iterator iVec2 = Vektor_von_Struktur[i].Weiterer_Vektor_in_Struktur.begin( ); iVec2 &lt; Vektor_von_Struktur[i].Weiterer_Vektor_in_Struktur.end( ); ++iVec2 )
		{
		}
	}
}
</code></pre>
<p>Ist vielleicht etwas brainfucked, aber so sollte es immernoch am verständlichesten seien. Falls die Templatefehler interessieren, einfach schreien. Der Fehler sollte aber offensichtlich seien.<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245234/std-vector-verschachteltes-problem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 21:52:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245234.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 11 Jul 2009 11:37:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 11:40:11 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Ich habe eine Struktur mit 2 Vektoren, die sich wieder auf eine andere Struktur beziehen, aber das ist unwichtig. Nun habe ich von dieser Struktur einen Vektor. Die Frage ist nun, wie ich dadurch iteriere. Logisch gesehen müsste folgender Code richtig sein: (Vorsicht, Namen abgeändert damit verständlicher!)</p>
<pre><code class="language-cpp">std::vector&lt;Vektor_von_Struktur&gt;::const_iterator iStruct;

for( iStruct = Vektor_von_Struktur.begin( ); iStruct &lt; Vektor_von_Struktur.end( ); ++iStruct)
{
	const unsigned int i = *iStruct;

	for( std::vector&lt;Vektor_von_Struktur[i].Vektor_in_Struktur&gt;::iterator iVec1 =Vektor_von_Struktur[i].Vektor_in_Struktur.begin( ); iVec1&lt; Vektor_von_Struktur[i].Vektor_in_struktur.end( ); ++iVec1 )
	{
		for( std::vector&lt;Vektor_von_Struktur[i].Weiterer_Vektor_in_Struktur&gt;::iterator iVec2 = Vektor_von_Struktur[i].Weiterer_Vektor_in_Struktur.begin( ); iVec2 &lt; Vektor_von_Struktur[i].Weiterer_Vektor_in_Struktur.end( ); ++iVec2 )
		{
		}
	}
}
</code></pre>
<p>Ist vielleicht etwas brainfucked, aber so sollte es immernoch am verständlichesten seien. Falls die Templatefehler interessieren, einfach schreien. Der Fehler sollte aber offensichtlich seien.<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740896</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sat, 11 Jul 2009 11:40:11 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 11:41:20 GMT]]></title><description><![CDATA[<p>Ohne den code wirklich angeschaut zu haben:<br />
-Vernünftige namen für den vectore geben (nicht vektor_in_struktur)<br />
-mit typedefs arbeiten, dann fällt sowas wie std::vector&lt;x&gt;::iterator auch weg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740897</guid><dc:creator><![CDATA[hmmmm]]></dc:creator><pubDate>Sat, 11 Jul 2009 11:41:20 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 11:42:56 GMT]]></title><description><![CDATA[<p>Ich denke mal, dass iStruct von diesem Typen hier sein sollte, nicht?</p>
<pre><code class="language-cpp">std::vector&lt;std::vector&lt;dein_struct&gt; &gt;::const_iterator iStruct;
</code></pre>
<p>Den iterator kannst du äquivalent zu allem anderen erzeugen. In den spitzen Klammern schreibst du den Typen von dem, was der vector halten soll. Auch wenn das wieder ein vector von irgendwas ist funktioniert das genau gleicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740899</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 11 Jul 2009 11:42:56 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 11:51:25 GMT]]></title><description><![CDATA[<blockquote>
<p>ich denke mal, dass iStruct von diesem Typen hier sein sollte, nicht?</p>
</blockquote>
<p>Dann gibt es einen:</p>
<pre><code>1&gt;c:\framework\3ds.cpp(278) : error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::_Vector_iterator&lt;_Ty,_Alloc&gt;' (or there is no acceptable conversion)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1740906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740906</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sat, 11 Jul 2009 11:51:25 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 12:17:03 GMT]]></title><description><![CDATA[<p>Wie war das mit <em>const</em> nochmal genau?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740921</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 11 Jul 2009 12:17:03 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 12:40:51 GMT]]></title><description><![CDATA[<p>Hubbala...</p>
<p>EDIT: Was hat das mit der Meldung zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740933</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sat, 11 Jul 2009 12:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 16:16:01 GMT]]></title><description><![CDATA[<blockquote>
<pre><code class="language-cpp">std::vector&lt;Vektor_von_Struktur[i].Vektor_in_Struktur&gt;::iterator
</code></pre>
</blockquote>
<p>Schreibst du einfach irgendwelche Sachen in ein File, wo du dir denkst so oder so ähnlich könnte C++ aussehen, oder was soll das sein?<br />
Lern bitte die Grundlagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741023</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 11 Jul 2009 16:16:01 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 16:18:45 GMT]]></title><description><![CDATA[<blockquote>
<p>Schreibst du einfach irgendwelche Sachen in ein File, wo du dir denkst so oder so ähnlich könnte C++ aussehen, oder was soll das sein?<br />
Lern bitte die Grundlagen.</p>
</blockquote>
<p>Wenn du ein paar Posts über dir gelesen hättest, wüsstest du, dass ich den originalen Code abgeändert habe um besseres Verständniss zu schaffen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741024</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sat, 11 Jul 2009 16:18:45 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 16:57:14 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<blockquote>
<p>Schreibst du einfach irgendwelche Sachen in ein File, wo du dir denkst so oder so ähnlich könnte C++ aussehen, oder was soll das sein?<br />
Lern bitte die Grundlagen.</p>
</blockquote>
<p>Wenn du ein paar Posts über dir gelesen hättest, wüsstest du, dass ich den originalen Code abgeändert habe um besseres Verständniss zu schaffen.</p>
</blockquote>
<p>dann mach das mal noch mal - und zwar so, dass es auch irgendjmd durchlesen will..<br />
ich les hier nicht 6 zeilen durch, wovon 2 zeilen ca. doppelt so breit sind wie mein monitor und ich dann noch iwelchen kryptischen bezeichner entziffern muss...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741050</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 11 Jul 2009 16:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 17:09:12 GMT]]></title><description><![CDATA[<blockquote>
<p>dann mach das mal noch mal - und zwar so, dass es auch irgendjmd durchlesen will..</p>
</blockquote>
<p>Will oder kann? Es ist eben nicht einfach zu beschreiben, wenn die potenziellen Helfer den originalen Code nicht verstehen würden.</p>
<blockquote>
<p>iwelchen kryptischen bezeichner entziffern muss...</p>
</blockquote>
<p>Was ist kryptisch?</p>
<p>Ok, ich versuche es nocheinmal:<br />
Ich habe eine Struktur mit 2 Vektoren. Von dieser Struktur habe ich wieder einen Vektor. Und daher ist die grundlegende Frage: Wie iteriere ich durch die Vektoren <strong>in</strong> der Struktur? Muss ich dann jedesmal einen neuen Iterator von dem jeweiligen Element des Vektors (der Struktur) anlegen? Und die Preisfrage: Wie sieht das Codetechnisch aus, weil ich das nach diesem Prinzip gemacht habe und nicht verstehe warum es nicht funktioniert?<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741060</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sat, 11 Jul 2009 17:09:12 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 17:19:41 GMT]]></title><description><![CDATA[<p>mal versuchen...<br />
Ich habe eine Struktur mit 2 Vektoren.</p>
<pre><code class="language-cpp">struct two_vectors
{
  std::vector&lt;int&gt; first;
  std::vector&lt;int&gt; second;
};
</code></pre>
<p>Von dieser Struktur habe ich wieder einen Vektor.</p>
<pre><code class="language-cpp">typedef std::vector&lt;two_vectors&gt; Tvector_of_two_vectors;
Tvector_of_two_vectors vector_of_two_vectors;
</code></pre>
<p>Und daher ist die grundlegende Frage: Wie iteriere ich durch die Vektoren <strong>in</strong> der Struktur?</p>
<pre><code class="language-cpp">for(Tvector_of_two_vectors::const_iterator i(vector_of_two_vectors.begin()), e(vector_of_two_vectors.end()); i != e; ++i)
{
  for(std::vector&lt;int&gt;::const_iterator i2(i-&gt;a.begin()), e2(i-&gt;a.end()); i2 != e2; ++i2)
  {
    ;
  }
  for(std::vector&lt;int&gt;::const_iterator i2(i-&gt;b.begin()), e2(i-&gt;b.end()); i2 != e2; ++i2)
  {
    ;
  }
}
</code></pre>
<p>dann nimmst du noch pair für die beiden vectoren und schon kannst du ganz bequem mit den typedefs arbeiten - oder schreibst dir selbst nen paar in deine struktur...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741067</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 11 Jul 2009 17:19:41 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 17:21:03 GMT]]></title><description><![CDATA[<p>Ich verstehe deine Erklärung jetzt so:</p>
<pre><code class="language-cpp">#include &lt;vector&gt;

struct foo
{
	std::vector&lt;int&gt; v;
	std::vector&lt;int&gt; v2;
};

int main ()
{
	std::vector&lt;foo&gt; foos;

	for (std::vector&lt;foo&gt;::iterator it = foos.begin () ;
			it != foos.end ();
			++it)
	{
		for (std::vector&lt;int&gt;::iterator it2 = it-&gt;v.begin();
			it2 != it-&gt;v.end();
			++it2)
		{
			//...
		}

		for (std::vector&lt;int&gt;::iterator it2 = it-&gt;v2.begin();
			it2 != it-&gt;v2.end();
			++it2)
		{
			//...
		}
	}
}
</code></pre>
<p>EDIT:<br />
LOL unskilled, das nenn ich mal Gedankenübertragung.. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741068</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 11 Jul 2009 17:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 17:35:54 GMT]]></title><description><![CDATA[<p>Sollte funktionieren, Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741073</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sat, 11 Jul 2009 17:35:54 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 18:21:13 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a>:<br />
Japp ^^ Hatte ich mir auch so gedacht : D</p>
<p>Vor allem, da wir auch beide <code>std::vector&lt;int&gt;</code> genommen haben etc : D</p>
<p>Aber du kannst ruhig zugeben, dass du die 4 Sekunden genutzt hast, um es zu copy&amp;pasten und noch schnell zu ändern <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="😉"
    /> <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>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741105</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 11 Jul 2009 18:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sat, 11 Jul 2009 18:30:32 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a>:<br />
Japp ^^ Hatte ich mir auch so gedacht : D</p>
<p>Vor allem, da wir auch beide <code>std::vector&lt;int&gt;</code> genommen haben etc : D</p>
<p>Aber du kannst ruhig zugeben, dass du die 4 Sekunden genutzt hast, um es zu copy&amp;pasten und noch schnell zu ändern <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="😉"
    /> <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>bb</p>
</blockquote>
<p>So etwas musste ja noch kommen.. -.-</p>
<p>Aber im Ernst, ich glaube die 4 Sekunden, die ich später kam, habe ich damit vergeudet nachzudenken, ob ich auch ein typedef machen soll.. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741115</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 11 Jul 2009 18:30:32 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 01:01:20 GMT]]></title><description><![CDATA[<p>Ähhhm, moment mal. Die Vektoren in der Struktur beziehen sich wieder auf Strukturen (^^). Und das Problem ist, dass die Vektoren in der Struktur von dem Vektor der Struktur abhängig sind. Sprich: Pro Element des Vektors der Struktur müssen 2 neue Iteratoren für die 2 Vektoren <strong>in</strong> der Struktur angelegt werden. Und da lag ich gar nicht mal so falsch... Ich hoffe das hat jetzt irgendwie einer verstanden. <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="😞"
    /> .<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741318</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sun, 12 Jul 2009 01:01:20 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 01:39:59 GMT]]></title><description><![CDATA[<p>Ich glaube kein Mensch versteht was du willst.</p>
<p>Poste doch bitte etwas Code, und bitte nicht &quot;vereinfachten&quot; (sprich: Quatsch), sondern konkret deine Strukturen und Vektoren.</p>
<p>Die Schleife um da drüber zu iterieren sollte trivial sein, aber zu erraten was du meist ist ganz sicher nicht trivial.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741319</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 12 Jul 2009 01:39:59 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 06:39:00 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi sieh es doch einfach ein, C++ ist eine aussterbende Sprache. Es gibt keine Experten mehr die dein Problem lösen könnten, die sind alle schon auf die Sprachen der Zukunft umgestiegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741326</guid><dc:creator><![CDATA[megaCoder1111]]></dc:creator><pubDate>Sun, 12 Jul 2009 06:39:00 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 10:00:14 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20193">@Kóyaánasqatsi</a>,<br />
1. Probier dich mal ein wenig korrekter auszudrücken. Ein <code>std::vector</code> bezieht sich nicht auf eine Struktur, sondern er beinhaltet Objekte von einer Klasse.<br />
2. &quot;Es gibt eine Struktur, mit einer Struktur, der Struktur durch eine Struktur und Struktur. Wie kann ich die Struktur realisieren.&quot; Das kann doch niemand lesen <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="😃"
    /><br />
Du kannst schon vereinfachen, aber gibt den Klassen sprechende Namen. Vor allem wenn du ein Beispiel schaffst, in dem das Konstrukt reinpasst, ist dies sehr hilfreich. Also zum Beispiel:<br />
&quot;Die Klasse Auto hat einen Motor und einen <code>std::vector</code> , welcher die Räder beinhaltet.&quot;<br />
Notfalls erkläre es mit dem, was tatsächlich vorhanden ist. Wir sind ja nicht dumm und wenn du uns ein wenig Erklärung gibst, dann können wir dies nachvollziehen.<br />
Ich verweise da auch mal auf einen wichtigen Thread in diesem Forum:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-200753.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-200753.html</a></p>
<blockquote>
<p><strong>Frage nach dem, was du erreichen willst und nicht danach womit du es erreichen willst.</strong></p>
</blockquote>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741384</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 12 Jul 2009 10:00:14 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 11:51:44 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>&quot;Die Klasse Auto hat einen Motor und einen std::vector, welcher die Räder beinhaltet.&quot;</p>
</blockquote>
<p>...</p>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Ich glaube kein Mensch versteht was du willst.</p>
</blockquote>
<p>Glaube ich auch. Ich denke ich poste mal den kompletten zusammengehörigen Code, bevor ihr mir hier weiter mit der Schübbe au'n Kopp haut...</p>
<p>Die Grundstruktur:</p>
<pre><code class="language-cpp">#pragma pack( 1 )
struct Objects
{
	~Objects()
	{
		objectName.clear( );
		faces.clear( );
		vertices.clear( );
	}

	std::string objectName;
	std::vector&lt;Faces&gt; faces;
	std::vector&lt;Vertices&gt; vertices;
};
#pragma pack( )
</code></pre>
<p>Faces und Vertices ist eine andere Struktur, aber die sollte erstmal unwichtig seien.</p>
<pre><code class="language-cpp">std::vector&lt;Objects&gt; objects;
</code></pre>
<p>Unser Vektor der sich auf die Struktur bezieht...</p>
<p>Und das letztendliche durchiterieren:</p>
<pre><code class="language-cpp">std::vector&lt;Objects&gt;::iterator iObject;

	for( iObject = objects.begin( ); iObject &lt; objects.end( ); ++iObject )
	{
		for( std::vector&lt;Faces&gt;::iterator iFace = objects[*iObject].faces.begin( ); iFace &lt; objects[*iObject].faces.end( ); ++iFace )
		{
			for( std::vector&lt;objects[*iObject].vertices&gt;::iterator iVert = objects[*iObject].vertices.begin( ); iFace &lt; objects[*iObject].vertices.end( ); ++iVert )
			{
			}
		}
	}
</code></pre>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741434</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sun, 12 Jul 2009 11:51:44 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 12:04:55 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::vector&lt;Objects&gt;::iterator iObject;

    for( iObject = objects.begin( ); iObject &lt; objects.end( ); ++iObject )
    {
        for( std::vector&lt;Faces&gt;::iterator iFace = iObject-&gt;faces.begin( ); iFace != iObject-&gt;faces.end( ); ++iFace )
        {
            for( std::vector&lt;Vertices&gt;::iterator iVert = iObject-&gt;vertices.begin( ); iFace != iObject-&gt;vertices.end( ); ++iVert )
            {
            }
        }
    }
</code></pre>
<p>--&gt;</p>
<pre><code class="language-cpp">std::vector&lt;Objects&gt;::iterator iObject;
    typedef std::vector&lt;Faces&gt; FacesType;
    typedef std::vector&lt;Vertices&gt; VerticesType;

    for( iObject = objects.begin( ); iObject &lt; objects.end( ); ++iObject )
    {
        for( FacesType::iterator iFace = iObject-&gt;faces.begin( ); iFace != iObject-&gt;faces.end( ); ++iFace )
        {
            for( VerticesType::iterator iVert = iObject-&gt;vertices.begin( ); iFace != iObject-&gt;vertices.end( ); ++iVert )
            {
            }
        }
    }
</code></pre>
<p>Aber das ist genau das, was Unskilled und ich vorhin gepostet habe..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741441</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 12 Jul 2009 12:04:55 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 12:20:33 GMT]]></title><description><![CDATA[<p>Dann muss ich irgendetwas falsch verstanden haben. Läuft nun, danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741452</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sun, 12 Jul 2009 12:20:33 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 12:24:48 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20193">@Kóyaánasqatsi</a>,<br />
Geht doch <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>Aber wie drakon sagt, das ist genau das, was bereits vorgeschlagen wurde.</p>
<p>Man kann dies allerdings noch ein wenig unabhängiger machen, indem man ein paar <code>typedef</code> einführt.</p>
<pre><code class="language-cpp">struct Object
{
    ~Object()
    {
        objectName.clear( );
        faces.clear( );
        vertices.clear( );
    }

    typedef std::vector&lt;Face&gt; FaceContainer;
    typedef std::vector&lt;Vertex&gt; VertexContainer;

    std::string objectName;

    FaceContainer faces;
    VertexContainer vertices;
};

// ...

std::vector&lt;Object&gt; objects;

typedef std::vector&lt;Object&gt;::iterator ObjectIterator;

// Es ist uns egal, was für ein Container dahinter liegt:
typedef Object::FaceContainer::iterator FaceIterator;
typedef Object::VertexContainer::iterator VertexIterator;

// Der Rest halt wie es gezeigt wurde.
// Ein Typ ist übrigens nie von einer Variablen abhängig, sondern grundsätzlich
// immer von Typen oder Konstanten.
</code></pre>
<p>Wieso sind eigentlich deine Klassennamen in der Mehrzahl angegeben? Empfinde ich als ziemlich unüblich.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741457</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 12 Jul 2009 12:24:48 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 12:25:28 GMT]]></title><description><![CDATA[<p>Dein Quelltext is übrigens.... zumindest komisch <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=";D"
      alt="😉"
    /><br />
dtor is nicht notwendig</p>
<p>und bei iteratoren &lt; zu nehmen anstatt != ist auch nich gerade sinnvoll... so bald du von vector auf nen anderen container umsteigst, kannst du nämlich alles ändern...<br />
auch find ich variablen-namen á la <code>std::vector&lt;Faces&gt; faces;</code> total hässlich... wahrscheinlich würde die klasse an sich besser Face heißen... Darunter kann ich mir zwar jz auch nur begrenzt etwas vorstellen, aber es macht zumindest mehr sinn als vector&lt;faces&gt; faces...</p>
<p>und jeden schleifendurchlauf wieder end() zu bestimmen ist auch nich gerade sehr doll - ich weiß nämlich nich, in wie fern der compiler das wegoptimieren kann...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741458</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 12 Jul 2009 12:25:28 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 12:35:33 GMT]]></title><description><![CDATA[<p>Ich danke euch für die hilfreichen Tips <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="👍"
    /> . Würde mich über mehr Kritisierungen freuen <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/1741465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741465</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sun, 12 Jul 2009 12:35:33 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector - Verschachteltes Problem on Sun, 12 Jul 2009 12:39:03 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>und jeden schleifendurchlauf wieder end() zu bestimmen ist auch nich gerade sehr doll - ich weiß nämlich nich, in wie fern der compiler das wegoptimieren kann...</p>
</blockquote>
<p>Wird zumindest schwierig, das wegoptimieren zu lassen. Wenn man selber genau weiß dass man den Container nicht verändert (d.h. dass end() immer denselben Iterator liefern wird), dann kann man ja auch problemlos eine zweite Variable im Schleifenkopf definieren:</p>
<pre><code class="language-cpp">for( FacesType::iterator iFace = iObject-&gt;faces.begin( ), 
                              last = iObject-&gt;faces.end();
          iFace != last; ++iFace)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1741468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741468</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sun, 12 Jul 2009 12:39:03 GMT</pubDate></item></channel></rss>