<?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[iterator]]></title><description><![CDATA[<p>HIer ist meine einfache Klasse:</p>
<pre><code>class Coefficients{
	public:
		void read(char * filename){
			ifstream infile( filename );                                                copy(istream_iterator&lt;double&gt;(infile),istream_iterator&lt;double&gt;(),back_inserter(_values));			_size=(int)_values.size();
}
		...........
	private:
		vector&lt;double&gt; _values;
		int _size;
                ..............

};
</code></pre>
<p>Im Testprogramm werden diese Coefficients gelesen und ausgegeben.<br />
Danach versuche ich das gleiche über ein Iterator, aber ich bekomme nur <strong>Blödsinn</strong></p>
<pre><code>int main(){
	Coefficients coeff;
	coeff.read(&quot;myCoeff.txt&quot;);
	for(int i=0;i&lt;=10; ++i)
	cout&lt;&lt;coeff.values()[i]&lt;&lt;endl;// Ausgabe normal-zB 0.0141
        // das Gleiche mit Iterator
	vector&lt;double&gt;::iterator  p_h;
	p_h = coeff.values().begin();
	for(int i=0;i&lt;=10; ++i)
	cout&lt;&lt;*p_h++ &lt;&lt;endl;// Ausgabe=-1.45682e+144
}
</code></pre>
<p>Wo ist mein Fehler??????????????</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152420/iterator</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 01:28:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152420.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Jul 2006 08:46:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 08:52:51 GMT]]></title><description><![CDATA[<p>HIer ist meine einfache Klasse:</p>
<pre><code>class Coefficients{
	public:
		void read(char * filename){
			ifstream infile( filename );                                                copy(istream_iterator&lt;double&gt;(infile),istream_iterator&lt;double&gt;(),back_inserter(_values));			_size=(int)_values.size();
}
		...........
	private:
		vector&lt;double&gt; _values;
		int _size;
                ..............

};
</code></pre>
<p>Im Testprogramm werden diese Coefficients gelesen und ausgegeben.<br />
Danach versuche ich das gleiche über ein Iterator, aber ich bekomme nur <strong>Blödsinn</strong></p>
<pre><code>int main(){
	Coefficients coeff;
	coeff.read(&quot;myCoeff.txt&quot;);
	for(int i=0;i&lt;=10; ++i)
	cout&lt;&lt;coeff.values()[i]&lt;&lt;endl;// Ausgabe normal-zB 0.0141
        // das Gleiche mit Iterator
	vector&lt;double&gt;::iterator  p_h;
	p_h = coeff.values().begin();
	for(int i=0;i&lt;=10; ++i)
	cout&lt;&lt;*p_h++ &lt;&lt;endl;// Ausgabe=-1.45682e+144
}
</code></pre>
<p>Wo ist mein Fehler??????????????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092266</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 06 Jul 2006 08:52:51 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 08:56:08 GMT]]></title><description><![CDATA[<p>Versuchs mal so</p>
<pre><code class="language-cpp">int main(){
	Coefficients coeff;
	coeff.read(&quot;myCoeff.txt&quot;);
	for(int i=0;i&lt;=10; ++i)
	cout&lt;&lt;coeff.values()[i]&lt;&lt;endl;
         // das Gleiche mit Iterator
	for(vector&lt;double&gt;::iterator p_h = coeff.values().begin();
                p_h != coeff.values().end(); p_h++) {
	    cout&lt;&lt; *p_h &lt;&lt;endl;
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1092268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092268</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 06 Jul 2006 08:56:08 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 08:56:34 GMT]]></title><description><![CDATA[<p>Ich habe es versucht aber geht nicht...Das Problemn bleibt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092274</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 06 Jul 2006 08:56:34 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 08:58:22 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> Dein Vector ist ja private <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1092275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092275</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 06 Jul 2006 08:58:22 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 09:03:08 GMT]]></title><description><![CDATA[<p>nein es ist nicht<br />
ich habe diese Get-Funktionen geschrieben, aber ich wollte hier Platz sparen</p>
<p>Noch einmal die ganze Klasse:</p>
<p>#ifndef COEFFICIENTS_H</p>
<pre><code>#define COEFFICIENTS_H

#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;

class Coefficients{
	public:
		void read(char * filename){
			ifstream infile( filename );
			copy(istream_iterator&lt;double&gt;(infile),istream_iterator&lt;double&gt;(),back_inserter(_values));
			_size=(int)_values.size();
		}
		vector&lt;double&gt; values(void)const{return(_values);}
		int size(void)const{return(_size);}

	private:
		vector&lt;double&gt; _values;
		int _size;
};

#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1092279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092279</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 06 Jul 2006 09:03:08 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 09:10:10 GMT]]></title><description><![CDATA[<p>Ich würde die Ausgabe als Memberfunktion machen:</p>
<pre><code class="language-cpp">public:
...
    void output() {
        for(vector&lt;double&gt;::iterator p_h = coeff._values().begin();
                p_h != coeff._values().end(); p_h++) {
            cout&lt;&lt; *p_h &lt;&lt;endl;
        }
    }
...
</code></pre>
<p>ps: oder noch schöner den operator &lt;&lt; überladen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092284</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 06 Jul 2006 09:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 09:19:45 GMT]]></title><description><![CDATA[<p>ja so funktioniert es richtig</p>
<p><strong>ABER</strong></p>
<p>das löst mein Problem nicht wirklich.... meine Klase wird mit andere Klassen als Member der Klaase Filter. Und die Klasse Filter hat eine Funktion aplly_FIR(...) und diese Funktion arbeitet über *p_h++</p>
<p>Dieses Algorithm habe ich in C getestet und ist es sehr effektiv...aber mit Pointers und jetzt möchte ich das Gleiche mit Iterators.</p>
<p>War ih genug klar??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092300</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 06 Jul 2006 09:19:45 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 10:21:46 GMT]]></title><description><![CDATA[<p>carmen schrieb:</p>
<blockquote>
<p>War ih genug klar??</p>
</blockquote>
<p>Nicht wirklich.. <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>Meinst Du so?</p>
<pre><code class="language-cpp">vector&lt;double&gt;::iterator p_h = coeff._values().begin();
while( p_h != coeff._values().end() 
{
    cout&lt;&lt;*p_h++ &lt;&lt;endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1092352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092352</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 06 Jul 2006 10:21:46 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 10:33:18 GMT]]></title><description><![CDATA[<p>Ist dir klar das du hier:</p>
<pre><code class="language-cpp">for(int i=0;i&lt;=10; ++i)
    cout&lt;&lt;coeff.values()[i]&lt;&lt;endl;
</code></pre>
<p>jedes mal die Funktion values() aufrufst. D.h. jedesmal ein Objekt zurückgeben lässt.<br />
Was natürlich nicht gerade effizient ist.</p>
<p>Try this <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>
<pre><code class="language-cpp">int main(){
    Coefficients coeff;
    coeff.read(&quot;myCoeff.txt&quot;);

    vector&lt;double&gt; val = coeff.values();

    for(int i=0;i&lt;=10; ++i)
           cout&lt;&lt;val[i]&lt;&lt;endl;

    for(vector&lt;double&gt;::iterator p_h = val.begin(); p_h != val.end(); ++p_h)
           cout&lt;&lt; *p_h &lt;&lt;endl;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1092358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092358</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 06 Jul 2006 10:33:18 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 10:33:39 GMT]]></title><description><![CDATA[<p>Eins versteh ich noch nicht.<br />
Willst Du immer genau 10 Werte ausgeben, oder bis ans Ende des Vectors?<br />
Du solltest beim Iterator auf jedenfall immer prüfen, ob Du nicht schon am Ende des Vectors angekommen bist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092361</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 06 Jul 2006 10:33:39 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 10:38:58 GMT]]></title><description><![CDATA[<p>Deine Get Methode ist fehlerhaft <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="😉"
    /><br />
Versuch mal so:</p>
<pre><code class="language-cpp">const vector&lt;double&gt; &amp;values() const
{
   return _values;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1092366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092366</guid><dc:creator><![CDATA[ssm]]></dc:creator><pubDate>Thu, 06 Jul 2006 10:38:58 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 10:47:25 GMT]]></title><description><![CDATA[<p>ssm schrieb:</p>
<blockquote>
<p>Deine Get Methode ist fehlerhaft <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>Wieso ???</p>
<p>Sie kopiert das Objekt und du gibst eine Konstante Referenz darauf zurück ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092372</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 06 Jul 2006 10:47:25 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 10:50:35 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6201">@ssm</a> <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="👍"
    /> <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="🙂"
    /><br />
und es funktioniert</p>
<p>DANKE!</p>
<p>Kannst du bitte mir erklären, warum kam zur richtigen Ausgabe mit cout&lt;&lt;coeff.values()[i] und fehlerhaft mit cout&lt;&lt;*p_h</p>
<p>DANKEDANKEDANKE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092373</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 06 Jul 2006 10:50:35 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 10:51:45 GMT]]></title><description><![CDATA[<p>Freak_Coder schrieb:</p>
<blockquote>
<p>ssm schrieb:</p>
<blockquote>
<p>Deine Get Methode ist fehlerhaft <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>Wieso ???</p>
<p>Sie kopiert das Objekt und du gibst eine Konstante Referenz darauf zurück ...</p>
</blockquote>
<p>Das kopieren ist aber nicht &quot;schön&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092377</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 06 Jul 2006 10:51:45 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 10:53:31 GMT]]></title><description><![CDATA[<p>Freak_Coder schrieb:</p>
<blockquote>
<p>Wieso ??? Sie kopiert das Objekt und du gibst eine Konstante Referenz darauf zurück ...</p>
</blockquote>
<p>Weil <strong>carmen</strong> wollte, dass das richtig funktioniert:</p>
<pre><code class="language-cpp">for(vector&lt;double&gt;::iterator p_h = coeff.values().begin(); 
                p_h != coeff.values().end(); p_h++) 
{ 
   cout  &lt;&lt; *p_h &lt;&lt; endl; 
}
</code></pre>
<p>oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092381</guid><dc:creator><![CDATA[ssm]]></dc:creator><pubDate>Thu, 06 Jul 2006 10:53:31 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 10:58:06 GMT]]></title><description><![CDATA[<p>@ ssm Ja es funktioniert und meine algorithmen werden auch in der Klasse Filter mit iteratoren funktionieren, aber ich möchte verstehen warum???? sonst werde ich den Fehler wiederholen</p>
<p>DANKE ssm</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092385</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 06 Jul 2006 10:58:06 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 11:08:28 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-134700.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-134700.html</a><br />
<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/1092400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092400</guid><dc:creator><![CDATA[ssm]]></dc:creator><pubDate>Thu, 06 Jul 2006 11:08:28 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 11:16:03 GMT]]></title><description><![CDATA[<p>dafür habe ich keine Zeit <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/1092406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092406</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 06 Jul 2006 11:16:03 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 11:20:41 GMT]]></title><description><![CDATA[<p>Weil in der alten Version coeff.values() eine Kopie ist. Davon (von der Kopie!) holst Du Dir den begin() Iterator. Danach wird die Kopie gelöscht, sie wurde ja nur gebraucht um .begin() anzuwenden. Der Iterator zeigt nun auf eine nicht (mehr) vorhandene Collection. Der Rest ergibt sich <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/1092412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092412</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 06 Jul 2006 11:20:41 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 11:26:39 GMT]]></title><description><![CDATA[<p>AH!Verstanden! aber warum brauche ich const vector&lt;double&gt;&amp; und nicht nur vector&lt;double&gt; &amp;??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092417</guid><dc:creator><![CDATA[carmen]]></dc:creator><pubDate>Thu, 06 Jul 2006 11:26:39 GMT</pubDate></item><item><title><![CDATA[Reply to iterator on Thu, 06 Jul 2006 11:28:08 GMT]]></title><description><![CDATA[<p>Wenn du kein const davor hast, kann jeder der die Referenz erhält das Objekt, d.h deine PRIVATE Variable ändern !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092419</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 06 Jul 2006 11:28:08 GMT</pubDate></item></channel></rss>