<?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[eigener Stack-Versuch]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beschäftige mich in letzter Zeit mit Klassen und Strukturen, um einen eigenen (&quot;Test&quot;-) Stack zu schreiben.</p>
<p>Leider bekomme ich bei der pop-Funktion die Zahl 40464544 zurück. Warum?</p>
<p>Hier der Hauptcode und die Struktur:</p>
<pre><code>Stack &lt; INT32 &gt; test;
test.initialize (100);
test.push (1);
cout &lt;&lt; test.pop ();
test.destroy ();
system (&quot;pause &gt; NUL&quot;);
</code></pre>
<pre><code>void error (const char * code) {
	cout &lt;&lt; &quot;\n\n\n&quot;;
	cerr &lt;&lt; code;
	cin.peek ();
	throw 1;
};
template &lt;typename T0&gt; struct Stack {
	void initialize (unsigned long long int new_size) {
		if ((is_init != 0)) {
			error (&quot;Header.h : 33 : library Stack : initialize ()&quot;);
		};
		if ((is_init == 0)) {
			unsigned long long int counter;
			counter = 0;
			mem_0 = new T0 [size];
			while ((counter &lt; size)) {
				mem_0 [counter] = 0;
				counter += 1;
			};
			is_init = 1;
		};
	};
	void destroy () {
		if ((is_init == 0)) {
			error (&quot;Header.h : 38 : library Stack : destroy ()&quot;);
		};
		if ((is_init != 0)) {
			delete [] mem_0;
		};
	};
	T0 pop () {
		if ((is_init == 0)) {
			error (&quot;Header.h : 46 : library Stack : pop ()&quot;);
		};
		if ((act &lt; 0)) {
			error (&quot;Header.h : 49 : library Stack : pop ()&quot;);
		};
		if ((act &gt;= 0)) {
			T0 copy;
			copy = mem_0 [act];
			mem_0 [act] = 0;
			act -= 1;
			return copy;
		};
	};
	void push (T0 var) {
		if ((is_init == 0)) {
			error (&quot;Header.h : 61 : library Stack : push ()&quot;);
		};
		if ((act &gt; size)) {
			error (&quot;Header.h : 68 : library Stack : push ()&quot;);
		};
		if ((act &lt; size)) {
			act += 1;
			mem_0 [act] = var;
		};
	};
	private:
		T0 * mem_0;
		unsigned long long int act = 0;
		unsigned short int is_init = 0;
		unsigned long long int size = 0;
};
</code></pre>
<p>Danke im Voraus!</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/318325/eigener-stack-versuch</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 16:07:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318325.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Jul 2013 17:09:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to eigener Stack-Versuch on Mon, 08 Jul 2013 17:09:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beschäftige mich in letzter Zeit mit Klassen und Strukturen, um einen eigenen (&quot;Test&quot;-) Stack zu schreiben.</p>
<p>Leider bekomme ich bei der pop-Funktion die Zahl 40464544 zurück. Warum?</p>
<p>Hier der Hauptcode und die Struktur:</p>
<pre><code>Stack &lt; INT32 &gt; test;
test.initialize (100);
test.push (1);
cout &lt;&lt; test.pop ();
test.destroy ();
system (&quot;pause &gt; NUL&quot;);
</code></pre>
<pre><code>void error (const char * code) {
	cout &lt;&lt; &quot;\n\n\n&quot;;
	cerr &lt;&lt; code;
	cin.peek ();
	throw 1;
};
template &lt;typename T0&gt; struct Stack {
	void initialize (unsigned long long int new_size) {
		if ((is_init != 0)) {
			error (&quot;Header.h : 33 : library Stack : initialize ()&quot;);
		};
		if ((is_init == 0)) {
			unsigned long long int counter;
			counter = 0;
			mem_0 = new T0 [size];
			while ((counter &lt; size)) {
				mem_0 [counter] = 0;
				counter += 1;
			};
			is_init = 1;
		};
	};
	void destroy () {
		if ((is_init == 0)) {
			error (&quot;Header.h : 38 : library Stack : destroy ()&quot;);
		};
		if ((is_init != 0)) {
			delete [] mem_0;
		};
	};
	T0 pop () {
		if ((is_init == 0)) {
			error (&quot;Header.h : 46 : library Stack : pop ()&quot;);
		};
		if ((act &lt; 0)) {
			error (&quot;Header.h : 49 : library Stack : pop ()&quot;);
		};
		if ((act &gt;= 0)) {
			T0 copy;
			copy = mem_0 [act];
			mem_0 [act] = 0;
			act -= 1;
			return copy;
		};
	};
	void push (T0 var) {
		if ((is_init == 0)) {
			error (&quot;Header.h : 61 : library Stack : push ()&quot;);
		};
		if ((act &gt; size)) {
			error (&quot;Header.h : 68 : library Stack : push ()&quot;);
		};
		if ((act &lt; size)) {
			act += 1;
			mem_0 [act] = var;
		};
	};
	private:
		T0 * mem_0;
		unsigned long long int act = 0;
		unsigned short int is_init = 0;
		unsigned long long int size = 0;
};
</code></pre>
<p>Danke im Voraus!</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337496</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Mon, 08 Jul 2013 17:09:16 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Mon, 08 Jul 2013 17:29:37 GMT]]></title><description><![CDATA[<p>Welchen Wert hat act in Zeile 55 beim ersten Einfügen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337506</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Mon, 08 Jul 2013 17:29:37 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Mon, 08 Jul 2013 17:34:05 GMT]]></title><description><![CDATA[<p>Lauter Fehler, viele davon hätte dir auch dein Compiler nennen können, wenn du nur Warnungen eingeschaltet hättest. So auch die unmittelbare Ursache: Du ignorierst die Größe beim Initialisieren und nimmst stattdessen 0. Der Rest ist undefiniertes Verhalten.</p>
<p>Ansonsten ist so ziemlich alles falsch, was man nur falsch machen kann beim Design. Fast, als ob es Absicht wäre - ich bin mir nicht sicher, ob dies nicht ein Scherz ist. Da du schon sehr oft Fragen zu ähnlichen Themen gestellt hast, aus denen du anscheinend leider gar nichts gelernt hast, erspare ich mir mal die seitenlange Erklärung, die hier nötig wäre und verweise auf deine alten Threads.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337507</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Jul 2013 17:34:05 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Mon, 08 Jul 2013 18:58:34 GMT]]></title><description><![CDATA[<p>Hallo SeppJ,</p>
<blockquote>
<p>Lauter Fehler, viele davon hätte dir auch dein Compiler nennen können, wenn du nur Warnungen eingeschaltet hättest.</p>
</blockquote>
<p><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="😕"
    /> LAUTER Fehler? Das size war falsch, aber sonst? Außerdem hat mir der Compiler keine Warnungen (und natürlich auch Fehler) angezeigt <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 />
Was meinst du mit Design? Ist das ein schlechtes Design bzw. wie hättest es du gemacht?</p>
<blockquote>
<p>undefiniertes Verhalten</p>
</blockquote>
<p>XD Das wollte ich gerade verhindern (mit Absturz wie bei vector,deque etc.).<br />
Vllt. schreibe ich in so einem Stil, da ich parallel zu C++ Assembler für Mikrocontroller schreibe, das zwar strukturiert ist, aber sehr sehr unübersichtlich (je nach Größe).</p>
<p>Folgender Code funktioniert:</p>
<pre><code>void error (int code) {
	cout &lt;&lt; &quot;\n\n\n&quot;;
	cerr &lt;&lt; &quot;Fehler::&quot; &lt;&lt; code;
	cin.peek ();
	throw 1;
};
template &lt;typename T0&gt; library Stack {
	void destroy () {
		if ((init == 0)) {
			error (__LINE__);
		};
		if ((init != 0)) {
			delete [] mem;
		};
	};
	void initialize (unsigned long long int n_size) {
		if ((init != 0)) {
			error (__LINE__);
		};
		if ((init == 0)) {
			size = n_size;
			mem = new T0 [size];
			counter = 0;
			while ((counter &lt; size)) {
				mem [counter] = 0;
				counter += 1;
			};
			init = 1;
		};
	};
	T0 pop () {
		if ((init == 0)) {
			error (__LINE__);
		};
		if ((underflow != 0)) {
			error (__LINE__);
		};
		if ((init != 0) &amp;&amp; (act == 1) &amp;&amp; (underflow == 0)) {
			underflow = 1;
			T0 copy;
			copy = mem [act-1];
			mem [act-1] = 0;
			return copy;
		};
		if ((init != 0) &amp;&amp; (act &gt; 1)) {
			T0 copy;
			copy = mem [act-1];
			mem [act-1] = 0;
			act -= 1;
			return copy;
		};
	};
	void push (T0 var) {
		if ((init == 0)) {
			error (__LINE__);
		};
		if ((act &gt;= size)) {
			error (__LINE__);
		};
		if ((init != 0) &amp;&amp; (act &lt; size)) {
			underflow = 0;
			mem [act] = var;
			act += 1;
		};
	};
	private:
		T0 * mem;
		unsigned long long int act = 0;
		unsigned long long int counter = 0;
		unsigned long long int init = 0;
		unsigned long long int size = 0;
		unsigned long long int underflow = 0;
};
</code></pre>
<p>Danke nochmal für eure Hilfe. :p</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337547</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Mon, 08 Jul 2013 18:58:34 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Mon, 08 Jul 2013 19:28:36 GMT]]></title><description><![CDATA[<p>- Du benutzt keine Konstruktoren/Destruktoren<br />
- Fehlermeldungen innerhalb der Klasse (return-value / exceptions?)<br />
- So viele Membervariablen brauchst du nicht<br />
- Man kann deine Klasse nicht mit Klassen die keinen default-Konstruktor haben benutzen<br />
....<br />
Wenn du schon einen Stack baust, warum nimmst du dir dann nicht das Interface des Stacks aus der Standardbibliothek zum Vorbild?<br />
<a href="http://en.cppreference.com/w/cpp/container/stack" rel="nofollow">http://en.cppreference.com/w/cpp/container/stack</a><br />
(Ignorier den zweiten Template-Parameter einfach.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337555</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 08 Jul 2013 19:28:36 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Mon, 08 Jul 2013 19:37:31 GMT]]></title><description><![CDATA[<p>Und warum nutzt du für Variablen, die als bool fungieren, unsigned long long int?!<br />
WTF?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337559</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Mon, 08 Jul 2013 19:37:31 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Mon, 08 Jul 2013 19:42:38 GMT]]></title><description><![CDATA[<p>Seikuassi schrieb:</p>
<blockquote>
<blockquote>
<p>Lauter Fehler, viele davon hätte dir auch dein Compiler nennen können, wenn du nur Warnungen eingeschaltet hättest.</p>
</blockquote>
<p><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="😕"
    /> LAUTER Fehler? Das size war falsch, aber sonst?</p>
</blockquote>
<p>Vor allem Designfehler. Ansonsten noch direkte Compilerwarnungen: Einige deiner Vergleiche sind immer true/false.</p>
<blockquote>
<p>Außerdem hat mir der Compiler keine Warnungen (und natürlich auch Fehler) angezeigt <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>
</blockquote>
<p>Dann schalt sie ein!</p>
<blockquote>
<p>Was meinst du mit Design? Ist das ein schlechtes Design bzw. wie hättest es du gemacht?</p>
</blockquote>
<p>Absolute Todsünden, Tabu, geht gar nicht, sofort ändern:<br />
-Ressourcenverwaltung ohne RAII<br />
-Regel der großen Drei nicht beachtet. Nun ja, eigentlich hast du sie schon beachtet, da du weder Konstruktor, Destruktor, noch Zuweisungsoperator hast. ABER:<br />
-Du hast weder Konstruktor noch Destruktor, obwohl du zwei Methoden initialize und destroy hast!</p>
<p>Microcontroller sind keine Ausrede für keinen dieser Punkte. Dies sind Kernvorteile von C++, die du hier verschenkst. Dies sind <strong>die</strong> Gründe <strong>für</strong> C++ auf dem Microcontroller! edit: Da du den Microcontroller in Assembler programmierst, nehme ich mal an, dies ist für normale PCs. Da gilt dies natürlich auch.)</p>
<p>Kleinere Sünden:<br />
-Fehlerbehandlung in der Klasse. Das schreit nach Exceptions. Hier kann ich eventuell verstehen, dass man das auf dem Microcontroller eventuell nicht so macht. Aber bestimmt auch nicht so wie du!<br />
-Warum überhaupt den Stack im vorhinein begrenzen? Du benutzt ohnehin dynamische Speicherverwaltung, wieso nicht dynamisch?<br />
-Warum verwaltet der Stack überhaupt selber Speicher? Der Stack sollte eine Schnittstelle für das push und pop sein, die Speicherverwaltung soll er ruhig jemandem überlassen, der sich mit so etwas auskennt. Zum Beispiel einem std::vector, einer deque oder list. Oder meinetwegen auch einer Eigenkreation. Hauptsache klare Trennung der Aufgabenbereiche!<br />
-Das ganze Verhalten bezüglich underflow und Anzahl und Position der Elemente kommt mir unnötig umständlich vor. Ich bin mir intuitiv recht sicher, dass das wesentlich einfacher ginge.</p>
<p>Falsch verstandene Aspekte der Sprache:<br />
-Bist du sicher, dass 68-72 das machen, was du denkst?<br />
-Nullzeiger und wie sie sich mit delete verhalten<br />
-peek()</p>
<blockquote>
<p>Folgender Code funktioniert:</p>
</blockquote>
<p>Reiner Zufall, der Fehler ist immer noch drin. Du hast ihn gar nicht korrigiert!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337560</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Jul 2013 19:42:38 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Mon, 08 Jul 2013 19:43:02 GMT]]></title><description><![CDATA[<p>Die Syntax von if-else erfordert übrigens nur ein Klammernpaar bei der Bedingung. Ich will gar nicht spekulieren, warum du da zwei Klammernpaare hinschreibst, da fallen mir nur böse Sachen ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337561</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 08 Jul 2013 19:43:02 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Mon, 08 Jul 2013 19:45:14 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>Die Syntax von if-else erfordert übrigens nur ein Klammernpaar bei der Bedingung. Ich will gar nicht spekulieren, warum du da zwei Klammernpaare hinschreibst, da fallen mir nur böse Sachen ein.</p>
</blockquote>
<p>Das stellt diese doofen Warnungen ab, falls man versehentlich einmal den Zuweisungsoperator anstatt eines Vergleichs benutzt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337562</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Jul 2013 19:45:14 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Tue, 09 Jul 2013 12:12:28 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Das stellt diese doofen Warnungen ab, falls man versehentlich einmal den Zuweisungsoperator anstatt eines Vergleichs benutzt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> .</p>
</blockquote>
<p>Ich hab diese Warnung ja immer explizit deaktiviert. Ich wuerde gerne behaupten, dass wenn ich = schreibe, ich das auch meine, aber letztens habe ich um 4:30 Morgens tatsaechlich = statt == geschrieben und 1h lang gesucht <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2337655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337655</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Tue, 09 Jul 2013 12:12:28 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Tue, 09 Jul 2013 15:43:01 GMT]]></title><description><![CDATA[<p>Hallo nochmal,</p>
<p>Ups, ja natürlich muss der Konstruktor und Destruktor vorhanden sein (dadurch kann das blöde initialize () weg).</p>
<p>Den Destruktor, habe ich in sofern nicht verstanden, da ich nicht weiß, wie man diesen aufruft <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> . Kann mir jemand einen Beispielcode für z.B. den deque oder vector geben?</p>
<p>SeppJ  schrieb:</p>
<blockquote>
<p>Ressourcenverwaltung ohne RAII</p>
</blockquote>
<p><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="😕"
    /> Bin noch Anfänger! <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="😃"
    /> Mit anderen Worten: HÄ? <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>SeppJ  schrieb:</p>
<blockquote>
<p>-Bist du sicher, dass 68-72 das machen, was du denkst?</p>
</blockquote>
<p>Was denke ich? Das ich nicht auf diese Variablen von außen aus zugreifen kann, sondern nur in der Klasse und dass diese als Speicher dienen? Ja!</p>
<p>SeppJ  schrieb:</p>
<blockquote>
<p>-Das ganze Verhalten bezüglich underflow und Anzahl und Position der Elemente kommt mir unnötig umständlich vor. Ich bin mir intuitiv recht sicher, dass das wesentlich einfacher ginge.</p>
</blockquote>
<p>Denke ich auch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> , aber ich habe ja auch diesen Stack als Versuchsmodell benutzt.</p>
<p>SeppJ  schrieb:</p>
<blockquote>
<p>-Warum überhaupt den Stack im vorhinein begrenzen? Du benutzt ohnehin dynamische Speicherverwaltung, wieso nicht dynamisch?</p>
</blockquote>
<p>Ich möchte nicht klugscheißen, aber wenn ich jetzt einen heap-Overflow durch eine Schleife verursache, durch z.B. Vergessen eines Zählers (gilt nicht für for), dann würde der Arbeitsspeicher immer voller werden, bis rein theoretisch der Computer abstürzt.<br />
Oder sehe ich das falsch?</p>
<p>SeppJ  schrieb:</p>
<blockquote>
<p>Dann schalt sie ein!</p>
</blockquote>
<p>Ich weiß nicht, was du für einen Compiler benutzt, doch meiner zeigt keine Fehler oder Warnungen an (diese Funktion ist längst aktiviert) <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>
<p>Bitte nicht den Code für den Destruktor vergessen!</p>
<p>Danke im Voraus!</p>
<p>MfG</p>
<p>Seikuassi</p>
<p>P.S.: Ich glaube, langsam (oder auch schnell) aber sicher, werde ich hier das schwarze Schaf <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2337712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337712</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Tue, 09 Jul 2013 15:43:01 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Tue, 09 Jul 2013 15:54:08 GMT]]></title><description><![CDATA[<p>Der Destruktor wird automatisch aufgerufen wenn das Objekt zerstört wird (daher der Name) (bei Objekten auf dem Stack also wenn sie out-of-scope gehen), das ist ja das Tolle dran. Den musst man (normalerweise) nie selbst aufrufen*. Genau so wie der Konstruktor &quot;automatisch&quot; aufgerufen wird, wenn das Objekt erstellt wird.<br />
RAII: Google<br />
Heap-Overflow: Wenn das auf einem halbwegs modernen Desktop-OS läuft wird da nicht viel passieren.<br />
Warnungen: Hast du GCC? Kompilierst du mit -Wall und -pedantic?</p>
<p>* Tipp: Einfach mal eine Ausgabe rein basteln, dann siehst du wo und wann er aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337715</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 09 Jul 2013 15:54:08 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Tue, 09 Jul 2013 16:07:42 GMT]]></title><description><![CDATA[<p>Hallo cooky451,</p>
<p>cooky451 schrieb:</p>
<blockquote>
<p>Der Destruktor wird automatisch aufgerufen wenn das Objekt zerstört wird (daher der Name)</p>
</blockquote>
<p>Ist ja einfacher, als ich gedacht hätte, wobei hätte mir das früher auffallen können <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="😃"
    /> , da in jedem Code von anderen, in dem ein deque, vector o. Ä. aufgerufen wird, kein Member aufruft, der den z. B. Stack zerstört.</p>
<p>cooky451 schrieb:</p>
<blockquote>
<p>Heap-Overflow: Wenn das auf einem halbwegs modernen Desktop-OS läuft wird da nicht viel passieren.</p>
</blockquote>
<pre><code>char * x;
INT64 y = 0;
while ((y &lt; 9223372036854775807)) {
   x [y] = 'a';
   y += 1;
};
</code></pre>
<p>Was wir passieren? Also mein Rechner würde abstürzen (bzw. sich aufhängen). Was macht deiner <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>cooky451 schrieb:</p>
<blockquote>
<p>* Tipp: Einfach mal eine Ausgabe rein basteln, dann siehst du wo und wann er aufgerufen wird.</p>
</blockquote>
<p>Gute Idee <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="👍"
    />. Werde ich gleich mal ausprobieren.</p>
<p>Danke nochmal!</p>
<p>MfG Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337719</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Tue, 09 Jul 2013 16:07:42 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Tue, 09 Jul 2013 16:09:24 GMT]]></title><description><![CDATA[<p>Seikuassi schrieb:</p>
<blockquote>
<p>P.S.: Ich glaube, langsam (oder auch schnell) aber sicher, werde ich hier das schwarze Schaf <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>
</blockquote>
<p>Nein, schwarze Schafe sind die, die alles gemacht haben wollen und selber nichts tun. Du bist ziemlich das Gegenteil. Jeder hat mal angefangen und damals kaum was gewusst.</p>
<p>A propos Nicht-Wissen <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>
<blockquote>
<p>Kann mir jemand einen Beispielcode für z.B. den deque oder vector geben?</p>
</blockquote>
<p>Moment! heißt das, du hast das so umständlich gemacht, weil du vector nicht kennst? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Ich dachte bisher, dass du neugierig warst, wie vector wohl intern arbeiten könnte.<br />
Dann ist es allerhöchste Zeit das zu schnellstens ändern. Die Container der Standardbibliothek sind ungeheuer nützlich und vector ist der nützlichste von allen. Das wird verändern, wie du Programme schreibst!</p>
<p>Eine Einführung in das Thema ist der Stoff von Lehrbüchern, wenn dir die normalen Codebeispiele in C++-Referenzen nicht ausreichen. Siehe meine Signatur für gute Bücher. Da mindestens &quot;Thinking in C++&quot; gratis erhältlich ist, gibt es keine Ausrede, das nicht zu lesen. Gerade dieses Buch geht an C++ von der komplett anderen Seite ran und fängt mit guten Design an, anstatt mit dem Programmieren an sich. Täte dir vielleicht ganz gut <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>Andere Stichworte wie &quot;RAII&quot;, &quot;Regel der großen 3&quot; und so weiter, die ich genannt habe: Entfallen erst einmal, wenn du STL-Container benutzt, da diese die Techniken bereits benutzen und du somit automatisch von deren &quot;Magie&quot; profitierst.</p>
<blockquote>
<p>Ich möchte nicht klugscheißen, aber wenn ich jetzt einen heap-Overflow durch eine Schleife verursache, durch z.B. Vergessen eines Zählers (gilt nicht für for), dann würde der Arbeitsspeicher immer voller werden, bis rein theoretisch der Computer abstürzt.</p>
</blockquote>
<p>Nein, dein Programm würde abstürzen. Was normales Verhalten bei einem Fehler ist. Ein Betriebssystem bei dem ein fehlerhaftes Programm den ganzen Computer mitreißen kann (zumindest durch diese Art Fehler) musst du heutzutage lange suchen. Dein Programm hat seinen eigenen (virtuellen) Speicher, mit dem kann es machen, was es will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337720</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 09 Jul 2013 16:09:24 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Tue, 09 Jul 2013 16:30:49 GMT]]></title><description><![CDATA[<p>Hallo SeppJ,</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Moment! heißt das, du hast das so umständlich gemacht, weil du vector nicht kennst? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
</blockquote>
<p>Keine Sorge, den und deque (und auch andere STL Container) kenne ich und habe auch diese bereits benutzt. Ich wollte einfach nur einen eigenen Stack-Klasse (oder eben Struktur) schreiben, um zu sehen, wie ein Container intern aufgebaut ist (was ist ein Konstruktor, Destruktor usw.).</p>
<p>Außerdem habe ich gerade in diesem Moment ein C++-Buch neben mir liegen (&quot;Die C++-Programmiersprache&quot; vom Erfinder von C++ <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>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Nein, schwarze Schafe sind die, die alles gemacht haben wollen und selber nichts tun. Du bist ziemlich das Gegenteil.</p>
</blockquote>
<p>Oh, jetzt hast du mich an meinen Arbeitsalltag (oder Azubi-Alltag) in meiner Firma erinnert.<br />
Bei mir entstehen zwar (meistens Flüchtigkeits-) Fehler am Anfang, aber bis jetzt habe ich noch nie Anschiss bekommen, weil ich irgendeine Sache vergessen habe oder die Sicherheit nicht beachtet hätte (würde ich nie tun <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="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> ).<br />
Ich denke mal, dass bei mir das Problem ist, dass ich meinen Kopf durchsetzen will.</p>
<p>Beispiel_0: Ihr sagt, ich soll auf irgendetwas achten, ich mach´s aber nicht (jedenfalls nicht vollständig oder nach euren Vorstellungen). Trotzdem kommt nachher die Funktionalität heraus, die ich wollte (eine sehr großmäulige Behauptung <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 />
Beispiel_1: Der Meister sagt zu mir, ich soll auf die Art ein Problem lösen. Ich löse aber das Problem auf meine Art, bei der weder (meistens) Zeit noch Sicherheit vernachlässigt werden. (die Reaktion ist dann meistens wie hier im Forum: &quot;Aber sie sollten doch...&quot;,&quot;Sie dürfen nicht..&quot;,&quot;Gut, so geht´s zwar auch, aber...&quot;<br />
Und mein Meister ist eigentlich zufrieden mit 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>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337725</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Tue, 09 Jul 2013 16:30:49 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Tue, 09 Jul 2013 16:44:06 GMT]]></title><description><![CDATA[<p>Seikuassi schrieb:</p>
<blockquote>
<pre><code>char * x;
INT64 y = 0;
while ((y &lt; 9223372036854775807)) {
   x [y] = 'a';
   y += 1;
};
</code></pre>
<p>Was wir passieren? Also mein Rechner würde abstürzen (bzw. sich aufhängen). Was macht deiner <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>
</blockquote>
<p>16-Bit DOS im Realmode? Microcontroller ohne OS?</p>
<p>Jeder &quot;normale&quot; Rechner wird da einfach Segfault melden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337728</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 09 Jul 2013 16:44:06 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Tue, 09 Jul 2013 16:49:59 GMT]]></title><description><![CDATA[<p>Seikuassi schrieb:</p>
<blockquote>
<pre><code>char * x;
INT64 y = 0;
while ((y &lt; 9223372036854775807)) {
   x [y] = 'a';
   y += 1;
};
</code></pre>
</blockquote>
<p>So ist das mit dynamisch wachsen nicht gemeint.<br />
Einfach:<br />
Wenn Stack voll:<br />
1. neuen Speicher anfordern, Größe = alte_Größe * n (n ist z.B. 2)<br />
2. alten Speicher in neuen kopieren<br />
3. alten Speicher freigeben</p>
<p>Und schon wächst er.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337730</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 09 Jul 2013 16:49:59 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Wed, 10 Jul 2013 15:28:54 GMT]]></title><description><![CDATA[<p>Hallo nochmal,</p>
<pre><code>T0 at (unsigned long long int id,T0 var) {
	if ((id &lt; 0) || (id &gt;= size)) {
		error (&quot;at-Funktion außerhalb des Gültigkeitsbereich.&quot;,__LINE__,&quot;Stack.h&quot;);
	};
	if ((init == 0)) {
		error (&quot;Stack nicht initialisiert&quot;,__LINE__,&quot;Stack.h&quot;);
	};
	if ((id &gt; 0) &amp;&amp; (id &lt; size) &amp;&amp; (init == 1)) {
		return mem [id];
	};
};
</code></pre>
<p>Eines der wohl wichtigsten Container-Funktion, da man jederzeit auf eine Variable auf einer beliebigen Position abfragen, aber auch <strong>zuweisen</strong> kann.</p>
<p>Frage: Wie sieht die Funktion (Member) aus, wenn ich einen Wert nicht nur abfragen, sondern auch übergeben will? (wie bei deque, vector etc.)?</p>
<p>Die Zuweisung soll genau so aussehen, wie bei vector etc.:</p>
<pre><code>Stack.at (2) = 5; // der Name &quot;Stack&quot; wird später geändert
</code></pre>
<p>Danke im Voraus!</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337968</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Wed, 10 Jul 2013 15:28:54 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Wed, 10 Jul 2013 15:37:43 GMT]]></title><description><![CDATA[<p>Die Geben alle eine Referenz zurück. (T&amp;) Und bitte, schau dir doch erst mal das std::stack Interface an und implementier das. Dann kann man dir auch mal zeigen wie das ordentlich aussieht, bei deinem Kram ist das leider schon konzeptionell zu verkorkst dafür.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337972</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 10 Jul 2013 15:37:43 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Wed, 10 Jul 2013 15:51:02 GMT]]></title><description><![CDATA[<p>Da meint man, alles gesehen zu haben und dann implementiert jemand einen Stack mit Random access <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="😃"
    /> .@TE: Ich glaube, du solltest nochmal genauer definieren, was dein &quot;Stack&quot; überhaupt können soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337979</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 10 Jul 2013 15:51:02 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Wed, 10 Jul 2013 15:52:35 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Da meint man, alles gesehen zu haben und dann implementiert jemand einen Stack mit Random access <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>
</blockquote>
<p>Du hast noch nicht in Java programmiert, oder? :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337980</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 10 Jul 2013 15:52:35 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Wed, 10 Jul 2013 16:15:10 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Da meint man, alles gesehen zu haben und dann implementiert jemand einen Stack mit Random access <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>
</blockquote>
<p>Du hast noch nicht in Java programmiert, oder? :p</p>
</blockquote>
<p>Nicht wirklich viel und das bisschen ist lange her. Mal gucken:</p>
<p>Java Doku schrieb:</p>
<blockquote>
<p>public class Stack<br />
extends Vector</p>
</blockquote>
<p>&quot;extends&quot; heißt &quot;ist ein&quot;? Falls ja, dann weint gerade irgendwo ein Professor für abstrakte Datenstrukturen. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2337985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337985</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 10 Jul 2013 16:15:10 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Wed, 10 Jul 2013 17:53:57 GMT]]></title><description><![CDATA[<p>Hallo SeppJ,</p>
<blockquote>
<p>Da meint man, alles gesehen zu haben und dann implementiert jemand einen Stack mit Random access <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>
</blockquote>
<p>Ich zitiere noch einmal den Code-Kommentar:</p>
<pre><code>Stack.at (2) = 5; // der Name &quot;Stack&quot; wird später geändert
</code></pre>
<p>Ich habe nur Stack als Namen benutzt, da ich vorhin keine Zeit mehr hatte (musste noch schnell wo hin).<br />
Von mir aus kann man den Namen &quot;Container&quot; oder &quot;Box&quot; verwenden.</p>
<blockquote>
<p>Ich glaube, du solltest nochmal genauer definieren, was dein &quot;Stack&quot; überhaupt können soll.</p>
</blockquote>
<p>Mein &quot;Stack&quot;, &quot;Container&quot; oder &quot;Box&quot; soll eigentlich nur 3 Sachen können:</p>
<p>1.: Konstruieren<br />
2.: Dekonstruieren<br />
3.: Random Access-Funktion besitzen (at ())<br />
4.: (dazu später mehr) statt Zahlen im at (), möchte ich wie bei map Strings als &quot;Adressen&quot; verwenden. Beispiel:</p>
<p>Statt</p>
<pre><code>container &lt; int &gt; test (10,0);
container.at (2) = 50;
</code></pre>
<p>möchte ich</p>
<pre><code>container &lt; int &gt; test {
       &quot;mein_Bezeichner&quot; = 0,
       &quot;mein_Bezeichner0&quot; = 1,
       &quot;mein_Bezeichner1&quot; = 2;
};
container.at (&quot;mein_Bezeichner&quot;) = 50;
</code></pre>
<p>schreiben.</p>
<p>Mehr Funktionen können theoretisch nicht schaden (push_back etc.).<br />
Jetzt denkt wahrscheinlich jeder: Warum nimmt der nicht einfach einen deque oder vector. Da hat er doch alles. <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>
<p>Die Antwort ist ganz einfach: Ich möchte einfach nur lernen, wie eben die STL Container grob funktionieren. <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>Also wie muss jetzt die at ()-Funktion aussehen, damit ich sowohl Werte zurückbekomme, als auch definieren kann?</p>
<p>Danke im Voraus!</p>
<p>MfG</p>
<p>Seikuassi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338029</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Wed, 10 Jul 2013 17:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Wed, 10 Jul 2013 18:21:33 GMT]]></title><description><![CDATA[<p>Ups, kleiner Fehler!</p>
<p>Statt</p>
<pre><code>container &lt; int &gt; test (10,0);
test.at (2) = 50;
</code></pre>
<p>möchte ich</p>
<pre><code>container &lt; int &gt; test {
       &quot;mein_Bezeichner&quot; = 0,
       &quot;mein_Bezeichner0&quot; = 1,
       &quot;mein_Bezeichner1&quot; = 2;
};
test.at (&quot;mein_Bezeichner&quot;) = 50;
</code></pre>
<p>schreiben.</p>
<p>Wie schon gesagt: Dazu kommen wir später. Erstmal ist die at-Funktion wichtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338035</guid><dc:creator><![CDATA[PHBU]]></dc:creator><pubDate>Wed, 10 Jul 2013 18:21:33 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Wed, 10 Jul 2013 18:43:44 GMT]]></title><description><![CDATA[<p>@Seikuassi</p>
<p>Du bist heslig! Du Smog.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338044</guid><dc:creator><![CDATA[Homomous]]></dc:creator><pubDate>Wed, 10 Jul 2013 18:43:44 GMT</pubDate></item><item><title><![CDATA[Reply to eigener Stack-Versuch on Wed, 10 Jul 2013 19:00:34 GMT]]></title><description><![CDATA[<p>Seikuassi schrieb:</p>
<blockquote>
<p>Also wie muss jetzt die at ()-Funktion aussehen, damit ich sowohl Werte zurückbekomme, als auch definieren kann?</p>
</blockquote>
<p>cooky451 schrieb:</p>
<blockquote>
<p><strong>Die Geben alle eine Referenz zurück. (T&amp;)</strong> Und bitte, schau dir doch erst mal das std::stack Interface an und implementier das. Dann kann man dir auch mal zeigen wie das ordentlich aussieht, bei deinem Kram ist das leider schon konzeptionell zu verkorkst dafür.</p>
</blockquote>
<p>Am besten in einer const und einer nicht-const Version.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338051</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 10 Jul 2013 19:00:34 GMT</pubDate></item></channel></rss>