<?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[Ändern einer Variablen eines Structs eines Vectors]]></title><description><![CDATA[<p>Sehr geehrtes Forum, ich habe eine Frage:</p>
<p>Wie kann ich eine Variable ändern, die in einem Struct ist, und dieses Struct in einem Vector?</p>
<p>Wenn ich das so mache, geht es nicht, wieso?</p>
<p>Der Wert wird nicht verändert :</p>
<pre><code class="language-cpp">vector&lt;Objekt&gt;::iterator it;
	for(it=objects.begin(); it&lt;objects.end(); it++)
	{
	    it-&gt;rect.x += object_speed;
	}
</code></pre>
<p>Objekt hat als Variablen :<br />
int pic;<br />
SDL_Rect rect;</p>
<p>Rect ist ein SDL_Rect, und ist auch ein Struct, dass die Variablen:<br />
int x,y,w,h;<br />
besitzt.</p>
<p>Was kann ich machen um x zu manipulieren?</p>
<p>M.f.G. Developer_X</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/280038/ändern-einer-variablen-eines-structs-eines-vectors</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 07:01:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/280038.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Jan 2011 07:34:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 07:34:32 GMT]]></title><description><![CDATA[<p>Sehr geehrtes Forum, ich habe eine Frage:</p>
<p>Wie kann ich eine Variable ändern, die in einem Struct ist, und dieses Struct in einem Vector?</p>
<p>Wenn ich das so mache, geht es nicht, wieso?</p>
<p>Der Wert wird nicht verändert :</p>
<pre><code class="language-cpp">vector&lt;Objekt&gt;::iterator it;
	for(it=objects.begin(); it&lt;objects.end(); it++)
	{
	    it-&gt;rect.x += object_speed;
	}
</code></pre>
<p>Objekt hat als Variablen :<br />
int pic;<br />
SDL_Rect rect;</p>
<p>Rect ist ein SDL_Rect, und ist auch ein Struct, dass die Variablen:<br />
int x,y,w,h;<br />
besitzt.</p>
<p>Was kann ich machen um x zu manipulieren?</p>
<p>M.f.G. Developer_X</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004037</guid><dc:creator><![CDATA[Developer_X]]></dc:creator><pubDate>Sat, 08 Jan 2011 07:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 08:03:05 GMT]]></title><description><![CDATA[<p>was für ein typ ist object_speed <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2004038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004038</guid><dc:creator><![CDATA[__--]]></dc:creator><pubDate>Sat, 08 Jan 2011 08:03:05 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 08:11:35 GMT]]></title><description><![CDATA[<p>&gt; ... geht nicht ...</p>
<p>Das ist keine ausreichende Beschreibung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004040</guid><dc:creator><![CDATA[hilfsbereiter]]></dc:creator><pubDate>Sat, 08 Jan 2011 08:11:35 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 08:16:59 GMT]]></title><description><![CDATA[<p>@__-- :</p>
<p>object_speed = int</p>
<p>@hilfsbereiter</p>
<p>was brauchst du denn noch für Informationen, weil ich kenn mich wirklich nicht so gut darin aus,</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004041</guid><dc:creator><![CDATA[Developer_X]]></dc:creator><pubDate>Sat, 08 Jan 2011 08:16:59 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 08:28:26 GMT]]></title><description><![CDATA[<p>Developer_X schrieb:</p>
<blockquote>
<p>@__-- :</p>
<p>object_speed = int</p>
</blockquote>
<p>ist zwar nicht der fehler, aber sollte das nicht ein Sint16 sein <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2004044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004044</guid><dc:creator><![CDATA[__--]]></dc:creator><pubDate>Sat, 08 Jan 2011 08:28:26 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 09:03:52 GMT]]></title><description><![CDATA[<p>Developer_X schrieb:</p>
<blockquote>
<p>Sehr geehrtes Forum, ich habe eine Frage:</p>
<p>Wie kann ich eine Variable ändern, die in einem Struct ist, und dieses Struct in einem Vector?</p>
<p>Wenn ich das so mache, geht es nicht, wieso?</p>
<p>Der Wert wird nicht verändert :</p>
<pre><code class="language-cpp">vector&lt;Objekt&gt;::iterator it;
	for(it=objects.begin(); it&lt;objects.end(); it++)
	{
	    it-&gt;rect.x += object_speed;
	}
</code></pre>
</blockquote>
<p>doch, wird verändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004047</guid><dc:creator><![CDATA[ich behaupte]]></dc:creator><pubDate>Sat, 08 Jan 2011 09:03:52 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 09:07:16 GMT]]></title><description><![CDATA[<p>Wenn ich das mit Cout ausgeben lasse wird das nicht verändert, egal, dann lass ich es halt sein, ich habe doch hilfe bekommen, weil das Problem ist hier nur stark vereinfacht dargestellt,</p>
<p>trotzdem danke euch allen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004048</guid><dc:creator><![CDATA[Developer_X]]></dc:creator><pubDate>Sat, 08 Jan 2011 09:07:16 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 09:11:12 GMT]]></title><description><![CDATA[<p>Developer_X schrieb:</p>
<blockquote>
<p>Wenn ich das mit Cout ausgeben lasse wird das nicht verändert, egal, dann lass ich es halt sein, ich habe doch hilfe bekommen, weil das Problem ist hier nur stark vereinfacht dargestellt,</p>
<p>trotzdem danke euch allen!</p>
</blockquote>
<p>Soll das heißen es geht jetzt? Wo war der Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004049</guid><dc:creator><![CDATA[ich behaupte]]></dc:creator><pubDate>Sat, 08 Jan 2011 09:11:12 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 09:13:22 GMT]]></title><description><![CDATA[<p>Dann zeig mal den Original-Code her.<br />
Membervariablen von Structs in einem vector zu verändern geht nämlich wirklich wunderbar, und genau so wie du im ersten Beitrag geschrieben hast.<br />
Das Problem wird also wo anders liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004051</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 08 Jan 2011 09:13:22 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 09:30:30 GMT]]></title><description><![CDATA[<p>Es geht jetzt leider nicht, ich hatte gedacht der Fehler wär dort, mein Code ist ziemlich lang, wollt ihr ihn wirklich sehen?</p>
<p>Über 600 Zeilen, ich habe echt die Hoffnung verloren, ging alles wunderbar, doch jetzt wo ich mit den vectoren arbeiten muss geht gar nichts mehr, ich zeig euch mal den Code, ihr könnt ihr runterladen, ist ne .hpp und ne .cpp datei.</p>
<p>Wenn ihr mir helfen könntet, wäre das natürlich sehr freundlich<br />
Es dauert bestimmt nicht lange mir zu helfen, da das Problem nur in der Methode : drawObjekt(..) zu sein scheint,beim Aufruf,<br />
vielleicht wisst ihr ja was ich da machen kann,</p>
<p><a href="http://www.gamehighscores.kilu.de/Game.zip" rel="nofollow">www.gamehighscores.kilu.de/Game.zip</a></p>
<p>m.f.G. Developer_X</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004059</guid><dc:creator><![CDATA[Developer_X]]></dc:creator><pubDate>Sat, 08 Jan 2011 09:30:30 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 09:39:25 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void Game::moveObjects(vector&lt;Objekt*&gt; objects,bool b)
</code></pre>
<p>Referenz übergeben, nicht alles kopieren. Gilt für ziemlich alle Methoden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004062</guid><dc:creator><![CDATA[ich behaupte]]></dc:creator><pubDate>Sat, 08 Jan 2011 09:39:25 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 10:54:01 GMT]]></title><description><![CDATA[<p>Ich danke dir vielmalst!</p>
<p>Es klappt jetzt, ich habe wieder neuen Mut gefunden, ich arbeite an diesem kleinen Spiel schon 30Stunden und war echt traurig als es an einem so kleinen Teil hing, danke dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004098</guid><dc:creator><![CDATA[Developer_X]]></dc:creator><pubDate>Sat, 08 Jan 2011 10:54:01 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 12:38:13 GMT]]></title><description><![CDATA[<p>Mhh ... Frosch hüpft von unten nach oben, muss Autos ausweichen? Kenn ich als Frosch hüpft über flößende Stämme um auf das andere Ufer zu kommen <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="🙂"
    /> war ein tolles Spiel.</p>
<p>Was mir so auffiel:</p>
<p>Für sowas fände ich sprechende Namen schöner:</p>
<pre><code class="language-cpp">struct Options
	{
		// Control
		bool useGMPD;
		int mlf;
		int mrt;
		int mup;
		int mdn;
		int kps;
		int gps;
		// Sound
		int ms_vlm;
		int so_vlm;
		//Grafik
		bool antialising;
		int bpp;
	}options;
</code></pre>
<p><code>remadeObjects(.)</code> sollte vielleicht <code>remakeObjects</code> heissen?</p>
<p>Sowas</p>
<pre><code class="language-cpp">music = NULL;
	jump = NULL;
	collect = NULL;
	frogPut = NULL;
	splash = NULL;
	crash = NULL;

	imageCollection = NULL;

	object_speed = 5;
	points = 0;
	life = 5;
	timeMS = 0;
	level = 1;
</code></pre>
<p>gehört eigenlich in die Initialisierungsliste des Konstructors, zB so:</p>
<pre><code class="language-cpp">Game::Game() :	
	game_paused(false), 
	textColor(SDL_Color(0,255,255)),  // &lt;-- weiss nicht obs den Contructor gibt, schau nach :) 
	music(NULL), // statt NULL besser 0 oder nullptr
	jump(NULL),
	collect(NULL),
	frogPut(NULL),
	splash(NULL),
	crash(NULL),
	imageCollection(NULL),
	object_speed(5),
	points(0),
	life(5),
	timeMS(0),
	level(1)
{ 
        // ...
}
</code></pre>
<pre><code class="language-cpp">void Game::drawObjects(vector&lt;Objekt*&gt; objects,bool b) // warum b, warum nicht move_right;
{
	vector&lt;Objekt*&gt;::iterator it;
	int zahl = 0; // wofür ?!?

	for (it=objects.begin(); it&lt;objects.end(); it++)
	{ /*
		if(b)
			drawObject(it,true);
		else
			drawObject(it,false);
          */
                drawObject(it,b); // warum testest du das und stopfst das selbe wieder rein? Magst du viele Code-Zeilen? 
		zahl++;
	}
}
</code></pre>
<p>guck mal was für nen Vector du übergibst, was für einen iterator du darauf losläßt und überleg dir mal was mit den erase'ten Pointern auf Objekt geschieht ... werden die Freigegeben oder produzieren die Memoryleaks?</p>
<pre><code class="language-cpp">void Game::remadeObjects(vector&lt;Objekt*&gt; objects,bool b,bool c) // warum b, warum c warum keine Namen die was aussagen?

{
	if(b)
	{
		vector&lt;Objekt&gt;::iterator it;

		Objekt newObject; // das hier wird HIER nicht gebraucht -&gt; so spät machen wie möglich
		int rand_number;

		for (it=objects.begin(); it&lt;objects.end(); it++)
		{
			if(it-&gt;rect.x+it-&gt;rect.w&gt;=gameRect.x+gameRect.w)
			{
				objects.erase(it);

				srand((unsigned)time(0));  // mhh ... das wird bei jedem Aufruf der remadeObjects() methode neu initialisiert (mit der aktuellen Zeit)  - das gehört EINMAL in den Konstruktor, nirgends sonst hin
				rand_number = (rand()%8);  // ok, du erzeugst ne nummer zwischen 0 und (inkl.) 7
				while(rand_number&gt;4)       // Häh? du willst nur nummern kleiner gleich 4?  
				{
					srand((unsigned)time(0)); // schonwieder initialisiert ... s.o.
					rand_number = (rand()%8); // ok, wieder ne Zahl [0..7] solange bis was &lt;=4 rauskommt ... warum nicht gleich rand()%5 ?
				}

// SNIPP
				srand((unsigned)time(0)); // s.o.
				rand_number = (rand()%8); // s.o.
				while(rand_number!=1&amp;&amp;rand_number!=2&amp;&amp;rand_number!=3&amp;&amp;rand_number!=4)
				{
					srand((unsigned)time(0)); // s.o.
					rand_number = (rand()%8); // du willst 1-4 nicht? mach rand_number = rand()%5; if (rand_number != 0) rand_number+=4;
				}
// SNIPP
                                newObject.rect.y = gameRect.y+gameRect.h-carAright.h*1; // warum * 1 ?
</code></pre>
<p>DAS hier sollte dir zu denken geben: - noch klappt es, wenn du da mehr machst kanns krachen ...</p>
<p><a href="http://www.cplusplus.com/reference/stl/vector/erase/" rel="nofollow">http://www.cplusplus.com/reference/stl/vector/erase/</a> schrieb:</p>
<blockquote>
<p>vector::erase</p>
<p>public member function</p>
<p>iterator erase ( iterator position );<br />
iterator erase ( iterator first, iterator last );</p>
<p>Erase elements<br />
Removes from the vector container either a single element (position) or a range of elements ([first,last)).</p>
<p>This effectively reduces the vector size by the number of elements removed, calling each element's destructor before.</p>
<p>Because vectors keep an array format, erasing on positions other than the vector end also moves all the elements after the segment erased to their new positions, which may not be a method as efficient as erasing in other kinds of sequence containers (deque, list).</p>
<p>This <strong>invalidates</strong> all iterator and references to elements <strong>after position</strong> or first.</p>
</blockquote>
<p>Ich bin mir nicht sicher was die SDL kann, aber Images zu spiegeln sollte doch drin sein? Das würde deine Sprites halbieren wenn du statt &quot;statischen&quot; Bildern einfach &quot;gemirrorte&quot; Bilder nutzt. Die <code>carAleft</code> + <code>carAright</code> würde zu sowas: <code>carA</code> und <code>applySurface</code> bräuchte noch ein <code>bool mirrored</code> - damit sparst du die Hälfte der clipping rectangles und dein sourcebild wird auch halbiert -&gt; ansonsten wäre das vielleicht auch gut (ge-structed) aus einer Datei einlesbar.</p>
<p>Du könntest bei Wikipedia auch mal nach &quot;const correctness&quot; suchen und Übergabe &quot;per Value&quot; und &quot;per Refefence&quot;.</p>
<p>Sowas hier: <code>void Game::drawObjects(vector&lt;Objekt*&gt; objects, bool b);</code> kopiert den übergebenen vector. Besser wäre sowas <code>void Game::drawObjects(vector&lt;Objekt*&gt; &amp; objects, bool b);</code> dann wird der Vector selbst weitergereicht. Noch besser wäre<br />
<code>void Game::drawObjects(const vector&lt;Objekt*&gt; &amp; objects,bool b);</code> wenn du sicherstellen willst das der Vector zwar weitergereicht statt kopiert, dann aber nicht geändert werden darf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004107</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Sat, 08 Jan 2011 12:38:13 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 11:28:20 GMT]]></title><description><![CDATA[<p>Developer_X schrieb:</p>
<blockquote>
<p>Es geht jetzt leider nicht, ich hatte gedacht der Fehler wär dort, mein Code ist ziemlich lang, wollt ihr ihn wirklich sehen?</p>
</blockquote>
<p>Nein. Es ist Deine Aufgabe -- als Hilfesuchender -- das Problem zu isolieren und ein kurzes, kleines Programm zu zeigen, was sich kompilieren lassen sollte und den &quot;Laufzeit-Fehler&quot; reproduziert. Dazu gehört auch die Beschreibung des erwarteten Verhaltens und dem tatsächlichen Verhalten. Als jemand, der C++ nicht versteht, bist Du auch nicht in der Lage, Codezeilen nach ihrer Relevanz bzgl des Problems zu selektieren. Daher ---&gt; vollständigen aber kurzen Code!</p>
<p>Anhand der Zeile, die hier von Deinem Code zitiert wurde, kann man aber schon erahnen, wo bei Dir die Missverständnisse liegen. Das, was man von Hilfesuchenden erwartet, hätte in Deinem Fall so aussehen müssen:</p>
<blockquote>
<p>Mein Problem: Dieses <a href="http://codepad.org/VQuiyMEk" rel="nofollow">Programm</a> verhält sich nicht so, wie ich es gedacht hätte. Ich erwarte, dass das Programm 2 ausgibt, weil in der Funktion foo ein zweites Element dem Vektor hinzugefügt wird. Stattdessen gibt es 1 aus. Warum?</p>
</blockquote>
<p>Hier gibt es ein kompilierbares kleines Beispiel zu sehen, eine Beschreibung der <em>erwarteten</em> Ausgabe und dem, was das Program tatsächlich ausgibt. Du solltest beim nächsten mal versuchen, selbst soweit zu kommen.</p>
<p>Nun. Warum verhält sich das Programm so? Warum denn nicht? vector&lt;int&gt; ist hier nicht anders als int oder double. In allen Fällen werden lokale Kopien erzeugt. Die Funktion arbeitet auf der lokalen Kopie und Änderungen an dieser Kopie sind nach außen nicht sichbar. Parameterübergabe an Funktionen kommt einer sogenannten &quot;Kopierinitialisierung&quot; gleich. Genauso sind hier</p>
<pre><code class="language-cpp">vector&lt;int&gt; x;
x.push_back(23);
vector&lt;int&gt; y = x; // &lt;-- auch eine &quot;Kopierinitialisierung&quot;
y[0] = 42;
cout &lt;&lt; x[0];
</code></pre>
<p>x und y zwei verschiedene vector&lt;int&gt;-Objekte. Die Unterscheidung zwischen &quot;Werttyp&quot; und &quot;Referenztyp&quot; wie es in anderen Sprachen der Fall ist (zB Java und C#) gibt es hier nicht. Wenn Du Indirektion willst, musst Du das explizit sagen.</p>
<p>So, jetzt habe ich wieder viel mehr geschrieben als ich das eigentlich wollte. Ich hoffe, dass wenigstens klar ist, dass Du beim Stellen von Fragen mehr Arbeit investieren musst. Wenn Du nir ein paar irrelevante Codefetzen zeigst und sagst &quot;geht nicht!&quot; brauchst Du Dich nicht wundern, wenn Dir keiner hilft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004109</guid><dc:creator><![CDATA[hilfsbereiter]]></dc:creator><pubDate>Sat, 08 Jan 2011 11:28:20 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 12:37:04 GMT]]></title><description><![CDATA[<p>mehr reineditiert ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004131</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Sat, 08 Jan 2011 12:37:04 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 12:37:45 GMT]]></title><description><![CDATA[<p>Danke hilfsbereiter, ich werde das dann in Zukunft so machen, ich muss mich in C++ erstmal etwas eingewöhnen, auch wenn ich es schon ein halbes jahr neben Java mache^^, doch mal im Ernst, jetzt programmiere ich nur noch mit C++ weil ich mich daran gewöhnen will. Danke für deine Tipps!</p>
<p>Danke padreigh für deine Code verbesserungen, das mit den initialisierungslisten werde ich dann in der Zukunft so handhaben.<br />
Ach und nein, die SDL stellt leider keine solche Methode, zum Spiegeln<br />
bereit, als ich Games mit Java gemacht habe, habe ich das so auch<br />
gehandhabt. Ich werde in Zukunft wohl eher nicht mehr mit der SDL arbeiten, da sie wirklich sehr begrenzt in ihrer Funktionalität ist, und immer so viele Librarys extra einzubinden, ist auch ziemlich nervig. Ich wurde auf die SFML gebracht, die versuch ich mal aus. Es ging mir bei diesem Spiel auch eher darum bisschen mein Wissen zu festigen.<br />
Ach und ja, das soll Frogger werden^^</p>
<p>Danke euch allen für eure Hilfe, sie hat mir wirklich stark weitergeholfen.<br />
M.f.G. Developer_X</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004132</guid><dc:creator><![CDATA[Developer_X]]></dc:creator><pubDate>Sat, 08 Jan 2011 12:37:45 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 17:17:40 GMT]]></title><description><![CDATA[<p>[quote=&quot;Developer_X&quot;]</p>
<pre><code class="language-cpp">vector&lt;Objekt&gt;::iterator it;
	for(it=objects.begin(); it&lt;objects.end(); it++)
	{
	    it-&gt;rect.x += object_speed;
	}
</code></pre>
<p>Ist es nicht gefährlich, Iteratoren in der Schleife mit '&lt;' zu vergleichen?</p>
<p>Freilich, bei einem Vektor liegen die alle hintereinander, so daß es funktioniert, aber wenn Du mal auf die Idee kommst, den Vektor durch ein Set oder eine Liste zu ersetzen, würde ich nicht darauf wetten, daß die alle kleiner als objects.end() sind. Den Fehler findet man dann sehr schwer.</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004236</guid><dc:creator><![CDATA[NA]]></dc:creator><pubDate>Sat, 08 Jan 2011 17:17:40 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 17:23:44 GMT]]></title><description><![CDATA[<p>OK, danke sehr, ich werde das auch ändern,</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004237</guid><dc:creator><![CDATA[Developer_X]]></dc:creator><pubDate>Sat, 08 Jan 2011 17:23:44 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 18:36:45 GMT]]></title><description><![CDATA[<p>padreigh schrieb:</p>
<blockquote>
<p>Mhh ... Frosch hüpft von unten nach oben, muss Autos ausweichen? Kenn ich als Frosch hüpft über flößende Stämme um auf das andere Ufer zu kommen <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="🙂"
    /> war ein tolles Spiel.</p>
</blockquote>
<p>Naja eigentlich war es erst Autos in der unteren Bildschirmhälfte und dann Baumstämme in der oberen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004244</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 08 Jan 2011 18:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to Ändern einer Variablen eines Structs eines Vectors on Sat, 08 Jan 2011 18:48:43 GMT]]></title><description><![CDATA[<p>NA schrieb:</p>
<blockquote>
<p>Ist es nicht gefährlich, Iteratoren in der Schleife mit '&lt;' zu vergleichen?</p>
</blockquote>
<p>Nein. Gefährlich ist das nicht. Aber es funktioniert nur bei sogenannten &quot;Random Access&quot;-Iteratoren.</p>
<p>NA schrieb:</p>
<blockquote>
<p>Freilich, bei einem Vektor liegen die alle hintereinander, so daß es funktioniert,</p>
</blockquote>
<p>Ob die Objekte alle hintereinander im Speicher liegen oder nicht ist irrelevant. std::deque bietet auch Random-Access-Iteratoren und die Elemente liegen nicht alle hintereinander im Speicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004248</guid><dc:creator><![CDATA[blarg]]></dc:creator><pubDate>Sat, 08 Jan 2011 18:48:43 GMT</pubDate></item></channel></rss>