<?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[Kann die Adresse die ein Iterator beinhaltet nicht ausgeben]]></title><description><![CDATA[<p>Hallo,</p>
<p>mir ist letztens aufgefallen das ich die Adresse die ein Iterator beinhaltet nicht ausgeben kann.<br />
Hier mal folgender Beispiel Code:</p>
<pre><code>vector&lt;int&gt; intvec;
    intvec.push_back(30);
    intvec.push_back(40);
    intvec.push_back(50);

    vector&lt;int&gt;::iterator coniter = intvec.begin();
    cout &lt;&lt; *coniter &lt;&lt; endl;   //dereferenziert 30
    cout &lt;&lt; coniter &lt;&lt; endl;    //addresse von intvec[0]
    cout &lt;&lt; &amp;coniter &lt;&lt; endl;   //addresse von iterator coniter
</code></pre>
<p>In der vorletzten Zeile gibt es einen compilerfehler.<br />
Wenn ich die vorletzte Zeile durch diese hier ersetze:</p>
<pre><code>cout &lt;&lt; &amp;(*coniter) &lt;&lt; endl;    //addresse von intvec[0]
</code></pre>
<p>wird das Programm compiliert. Die sollte doch mit der vorherigen äquivalent sein? oder?<br />
coniter wird hier dereferenziert um dann das Objekt zu referenzieren.<br />
Also gibt diese Zeile die Adresse des Objekts intvec[0] aus.<br />
Warum also ist</p>
<pre><code>cout &lt;&lt; coniter &lt;&lt; endl;
</code></pre>
<p>ein Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/324999/kann-die-adresse-die-ein-iterator-beinhaltet-nicht-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Jul 2026 09:10:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/324999.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Apr 2014 16:27:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kann die Adresse die ein Iterator beinhaltet nicht ausgeben on Thu, 10 Apr 2014 16:27:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>mir ist letztens aufgefallen das ich die Adresse die ein Iterator beinhaltet nicht ausgeben kann.<br />
Hier mal folgender Beispiel Code:</p>
<pre><code>vector&lt;int&gt; intvec;
    intvec.push_back(30);
    intvec.push_back(40);
    intvec.push_back(50);

    vector&lt;int&gt;::iterator coniter = intvec.begin();
    cout &lt;&lt; *coniter &lt;&lt; endl;   //dereferenziert 30
    cout &lt;&lt; coniter &lt;&lt; endl;    //addresse von intvec[0]
    cout &lt;&lt; &amp;coniter &lt;&lt; endl;   //addresse von iterator coniter
</code></pre>
<p>In der vorletzten Zeile gibt es einen compilerfehler.<br />
Wenn ich die vorletzte Zeile durch diese hier ersetze:</p>
<pre><code>cout &lt;&lt; &amp;(*coniter) &lt;&lt; endl;    //addresse von intvec[0]
</code></pre>
<p>wird das Programm compiliert. Die sollte doch mit der vorherigen äquivalent sein? oder?<br />
coniter wird hier dereferenziert um dann das Objekt zu referenzieren.<br />
Also gibt diese Zeile die Adresse des Objekts intvec[0] aus.<br />
Warum also ist</p>
<pre><code>cout &lt;&lt; coniter &lt;&lt; endl;
</code></pre>
<p>ein Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2393872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2393872</guid><dc:creator><![CDATA[Keksman]]></dc:creator><pubDate>Thu, 10 Apr 2014 16:27:50 GMT</pubDate></item><item><title><![CDATA[Reply to Kann die Adresse die ein Iterator beinhaltet nicht ausgeben on Thu, 10 Apr 2014 16:39:07 GMT]]></title><description><![CDATA[<p>ne sollt es nicht. ein iterator ist eben nicht grundsätzlich ein zeiger. was hat es eigentlich für einen sinn die adresse des ziels des iterators auszugeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2393874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2393874</guid><dc:creator><![CDATA[Fytch]]></dc:creator><pubDate>Thu, 10 Apr 2014 16:39:07 GMT</pubDate></item><item><title><![CDATA[Reply to Kann die Adresse die ein Iterator beinhaltet nicht ausgeben on Thu, 10 Apr 2014 16:40:33 GMT]]></title><description><![CDATA[<p>Du versuchst den Iterator selbst auszugeben. Es gibt keine vordefinierte Ausgabefunktion für Iteratoren, denn diese Aktion macht selten Sinn. Ein Iterator kann so etwas wie eine Adresse sein oder intern eine Adresse beinhalten, im Allgemeinen ist dies aber nicht unbedingt der Fall. Selbst wenn der Iterator irgendwie mit Adressen arbeitet, ist der Iterator selber keine Adresse, sondern eben ein Iterator.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2393875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2393875</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 Apr 2014 16:40:33 GMT</pubDate></item><item><title><![CDATA[Reply to Kann die Adresse die ein Iterator beinhaltet nicht ausgeben on Thu, 10 Apr 2014 17:09:55 GMT]]></title><description><![CDATA[<p>Ok! Danke für die Antworten! Ich war nur ein bischen am rumspielen und habe mich halt gewundert warum es nicht funktionierte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2393884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2393884</guid><dc:creator><![CDATA[Keksman]]></dc:creator><pubDate>Thu, 10 Apr 2014 17:09:55 GMT</pubDate></item><item><title><![CDATA[Reply to Kann die Adresse die ein Iterator beinhaltet nicht ausgeben on Thu, 10 Apr 2014 18:28:10 GMT]]></title><description><![CDATA[<pre><code>ostream &amp;operator &lt;&lt;(ostream &amp;os, const decltype(vector&lt;int&gt;().begin()) &amp;it){
	return os &lt;&lt; &amp;(*it);
}

int main(){
	vector&lt;int&gt; intvec;
	intvec.push_back(30);
	intvec.push_back(40);
	intvec.push_back(50);

	vector&lt;int&gt;::iterator coniter = intvec.begin();
	cout &lt;&lt; *coniter &lt;&lt; endl;   //dereferenziert 30
	cout &lt;&lt; coniter &lt;&lt; endl;    //addresse von intvec[0]
	cout &lt;&lt; &amp;coniter &lt;&lt; endl;   //addresse von iterator coniter
}
</code></pre>
<p>Was nicht passt wird passend gemacht. Für sowas liebe ich C++. <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/2393901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2393901</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Thu, 10 Apr 2014 18:28:10 GMT</pubDate></item><item><title><![CDATA[Reply to Kann die Adresse die ein Iterator beinhaltet nicht ausgeben on Fri, 11 Apr 2014 07:07:38 GMT]]></title><description><![CDATA[<p>Und damit könntest du dir an ganz anderer Stelle im Programm das ganze Bein wegballern...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2393960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2393960</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 11 Apr 2014 07:07:38 GMT</pubDate></item></channel></rss>