<?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[pop_back()]]></title><description><![CDATA[<p>pop_back() löscht doch das letzte Element im vector?</p>
<p>1. #_ 10<br />
2. #_ 50<br />
3. #_ 30</p>
<p>pop_back(); //löscht letztes Element</p>
<p>Also sieht vetor nur noch so aus?</p>
<p>1. #_ 50<br />
2. #_ 30</p>
<p>Oder ist mit letztem Element das erste, also ich mein das oberste gemeint, also 30?<br />
Wenn ja, warum geht dann das hier:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;

int main()
{
    vector&lt;int&gt; test;
    test.push_back(10);
    test.push_back(50);
    test.push_back(30);
    test.pop_back();
    cout &lt;&lt; test[2] &lt;&lt; &quot;\n&quot;; //Müsste System Fehler auslösen? Weil ja nur noch 2 Felder da sind?
	return 0;
}
</code></pre>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204065/pop_back</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 07:57:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204065.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Jan 2008 19:14:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to pop_back() on Tue, 29 Jan 2008 19:15:28 GMT]]></title><description><![CDATA[<p>pop_back() löscht doch das letzte Element im vector?</p>
<p>1. #_ 10<br />
2. #_ 50<br />
3. #_ 30</p>
<p>pop_back(); //löscht letztes Element</p>
<p>Also sieht vetor nur noch so aus?</p>
<p>1. #_ 50<br />
2. #_ 30</p>
<p>Oder ist mit letztem Element das erste, also ich mein das oberste gemeint, also 30?<br />
Wenn ja, warum geht dann das hier:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;

int main()
{
    vector&lt;int&gt; test;
    test.push_back(10);
    test.push_back(50);
    test.push_back(30);
    test.pop_back();
    cout &lt;&lt; test[2] &lt;&lt; &quot;\n&quot;; //Müsste System Fehler auslösen? Weil ja nur noch 2 Felder da sind?
	return 0;
}
</code></pre>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445920</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Tue, 29 Jan 2008 19:15:28 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Tue, 29 Jan 2008 19:16:56 GMT]]></title><description><![CDATA[<p>1. pop_back löscht das letze (Back=hinten) element<br />
2. der index begin bei 0 und index 1 wäre somit das zweite element und du hast ja noch 2 elemente</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445922</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 29 Jan 2008 19:16:56 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Tue, 29 Jan 2008 19:27:20 GMT]]></title><description><![CDATA[<p>Das hier:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;

int main()
{
    vector&lt;int&gt; test;
    test.push_back(10);
    test.push_back(50);
    test.push_back(30);
    test.pop_back(); //Feld [0] wird gelöscht 1 und 2 rücken nach auf 0 und 1
    cout &lt;&lt; test[0] &lt;&lt; &quot;\n&quot;; //Ausgabe 10! Warum?

	return 0;
}
</code></pre>
<p>Müsste doch die Ausgabe &quot;50&quot; erbringen? Bei mir is des aber immer noch &quot;10&quot; , obwohl ichs ja gelöscht habe.<br />
Hab ich n Denkfehler?<br />
MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445926</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Tue, 29 Jan 2008 19:27:20 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Tue, 29 Jan 2008 19:30:36 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Müsste doch die Ausgabe &quot;50&quot; erbringen? Bei mir is des aber immer noch &quot;10&quot; , obwohl ichs ja gelöscht habe.<br />
Hab ich n Denkfehler?<br />
MfG<br />
Stromberg</p>
</blockquote>
<p>Das letzte Element wird gelöscht (also Feld[2]), nicht das erste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445928</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Tue, 29 Jan 2008 19:30:36 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Tue, 29 Jan 2008 19:38:07 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<pre><code class="language-cpp">cout &lt;&lt; test[2] &lt;&lt; &quot;\n&quot;; //Müsste System Fehler auslösen? Weil ja nur noch 2 Felder da sind?
</code></pre>
</blockquote>
<p>pop_back löscht, aber operator[] macht nicht unbedingt eine Fehlerprüfung..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445934</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 29 Jan 2008 19:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Tue, 29 Jan 2008 19:38:41 GMT]]></title><description><![CDATA[<p>Aso, jetzt hab ichs geckeckt, mit letztem ist das oberste gemeint. Dan wundert mich aber warum das hier geht:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;

int main()
{
    vector&lt;int&gt; test;
    test.push_back(10);
    test.push_back(50);
    test.push_back(30);
    test.pop_back();
    cout &lt;&lt; test[2] &lt;&lt; &quot;\n&quot;; // Ausgabe 30

	return 0;
}
</code></pre>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445935</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Tue, 29 Jan 2008 19:38:41 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Tue, 29 Jan 2008 19:46:53 GMT]]></title><description><![CDATA[<p>pop_back entfernt das letzte Element aus der Liste, gibt aber dessen Speicher nicht frei. D.h. das interne Array ist noch genauso lang. Deswegen funktioniert der Zugriff noch. Das ist aber nicht garantiert.<br />
Das Ganze ist wohl undefined behaviour.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445936</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 29 Jan 2008 19:46:53 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Tue, 29 Jan 2008 19:53:01 GMT]]></title><description><![CDATA[<p>push_back - hinten draufschieben<br />
pop_back - hinten wegholen</p>
<p>Deshalb die Wortverwandschaft - analog für *_front <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>In diesem Kontext ist front (vorne) üblicherweise bei 0 angesiedelt und back (hinten) beim letzten Element (size() - 1).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445942</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 29 Jan 2008 19:53:01 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Wed, 30 Jan 2008 14:12:51 GMT]]></title><description><![CDATA[<p>Versuch mal per at() auf das Element zuzugreifen <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="😉"
    /> Das ist mit Fehlermeldung und du solltest eine Exception um die Ohren bekommen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1446350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446350</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 30 Jan 2008 14:12:51 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Wed, 30 Jan 2008 21:28:25 GMT]]></title><description><![CDATA[<p>Das ist auch das Problem bei den Vektoren. Aus Performancegründen findet keine automatische Bereichsüberprüfung statt, dafür muss man halt selber sorgen. Wie schon gesagt wurde, mit at() kannst du auch abfragen. Das gibt allerdings nur einen Fehler zur Laufzeit aus. Es ist also IMMER besser vor dem Zugriff eine Bereichsüberprüfung zu machen. Man könnte das in einer Klasse kapseln und bei jedem Zugriff kann man das auch 'cachen'. Bei großen Vektoren ist das sogar sinnvoll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446676</guid><dc:creator><![CDATA[vectorizer]]></dc:creator><pubDate>Wed, 30 Jan 2008 21:28:25 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Thu, 31 Jan 2008 06:35:38 GMT]]></title><description><![CDATA[<p>vectorizer schrieb:</p>
<blockquote>
<p>Das ist auch das Problem bei den Vektoren. Aus Performancegründen findet keine automatische Bereichsüberprüfung statt, dafür muss man halt selber sorgen. Wie schon gesagt wurde, mit at() kannst du auch abfragen. Das gibt allerdings nur einen Fehler zur Laufzeit aus. Es ist also IMMER besser vor dem Zugriff eine Bereichsüberprüfung zu machen. Man könnte das in einer Klasse kapseln und bei jedem Zugriff kann man das auch 'cachen'. Bei großen Vektoren ist das sogar sinnvoll.</p>
</blockquote>
<p>1. Wann soll die Prüfung sonst stattfinden, wenn nicht zur Laufzeit?<br />
2. Wie willst Du eine Abfrage (i &lt; size()) bitte cachen?!<br />
3. IMMER eine Bereichsprüfung zu machen ist quatsch, es gibt genug Situationen in denen ich weiß dass mein Index gültig ist (z.B. in einer Schleife von 0 bis size()-1).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446756</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 31 Jan 2008 06:35:38 GMT</pubDate></item><item><title><![CDATA[Reply to pop_back() on Thu, 31 Jan 2008 07:33:14 GMT]]></title><description><![CDATA[<p>nim iteratoren, wenn du die liste durchlaufen willst</p>
<pre><code class="language-cpp">//NEIN
for( int i= 0; i= mylist.size(); i++)
  .....= myList[i];
//JA
for (list&lt;int&gt;::iterator it= mylist.begin(); it != mylist.end(); it++)
  .....= (*it);
</code></pre>
<p>P.S: hab den code nich geteste ob fehler drin sind</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446770</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 31 Jan 2008 07:33:14 GMT</pubDate></item></channel></rss>