<?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[Vector.toString() ?]]></title><description><![CDATA[<p>Hi!</p>
<p>In Java gibt es ja so eine Methode toString(). Die benutze ich gerne mal zum Debuggen. Und genau das würde ich jetzt auch gerne bei einem Vektor in C++ machen.<br />
Nur habe ich keine Lust, ständig für 2 oder 3 Elemente eines Vektors eine for-Schleife zu schreiben.</p>
<p>Gibt es nicht so etwas ähnliches? Was mir einfach mal (potentiell rekursiv) als String ausgibt, was so im Vektor drin ist?</p>
<p>Grüße, pktm</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/211629/vector-tostring</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 07:21:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/211629.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Apr 2008 11:09:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector.toString() ? on Fri, 25 Apr 2008 11:09:02 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>In Java gibt es ja so eine Methode toString(). Die benutze ich gerne mal zum Debuggen. Und genau das würde ich jetzt auch gerne bei einem Vektor in C++ machen.<br />
Nur habe ich keine Lust, ständig für 2 oder 3 Elemente eines Vektors eine for-Schleife zu schreiben.</p>
<p>Gibt es nicht so etwas ähnliches? Was mir einfach mal (potentiell rekursiv) als String ausgibt, was so im Vektor drin ist?</p>
<p>Grüße, pktm</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498011</guid><dc:creator><![CDATA[pktm]]></dc:creator><pubDate>Fri, 25 Apr 2008 11:09:02 GMT</pubDate></item><item><title><![CDATA[Reply to Vector.toString() ? on Fri, 25 Apr 2008 11:19:33 GMT]]></title><description><![CDATA[<p>Also vector bietet nicht direkt sowas an. Aber was spricht dagegen eine eigene Funktion zu schreiben, die das macht?<br />
Anstatt über die Ausgabe zu debuggen geht das ja auch recht gut mit dem Debugger. <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="😉"
    /> - Zumindest im VC sehe ich alle Werte, und kann dann auch noch verfolgen, wie die sich verändern. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1498016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498016</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 25 Apr 2008 11:19:33 GMT</pubDate></item><item><title><![CDATA[Reply to Vector.toString() ? on Fri, 25 Apr 2008 11:37:28 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>in C++ ist das übliche (und IMHO bessere) vorgehen, einen operator&lt;&lt;() zu schreiben.<br />
Außerdem kann man std::copy verwenden und es in ein Funktionstemplate packen .... (das ist elegant und beeindruckend, aber nicht unbedingt lesbar) <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 />
Großer Vorteil: Man macht das genau einmal und kann dann in alle ostreams (ostringstream, cout, ofstream, myTCPoutStream, ...) damit gleichermaßen schreiben.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
ostream&amp; operator&lt;&lt;(ostream&amp; ost, vector&lt;T&gt; const&amp; v) {
   copy(v.begin(), v.end(), ostream_iterator&lt;T&gt;(ost, &quot; &quot;));
   return ost;
}

int main() {
   vector&lt;int&gt; v;
   v.push_back(1); v.push_back(2); v.push_back(3);
   vector&lt;string&gt; v2;
   v2.push_back(&quot;Simon2&quot;); 
   v2.push_back(&quot;Hugo&quot;); 
   v2.push_back(&quot;Fertig&quot;);

// Ausgabe auf Konsole:
   cout &lt;&lt; v &lt;&lt; v2 &lt;&lt; '\n';
// Ausgabe in stringstream
   ostringstream o;
   o &lt;&lt; v &lt;&lt; v2 &lt;&lt; '\n';

// ... und den String bekommt man daraus mit 
   string mystring = o.str();

   return 0;
}
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498017</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 25 Apr 2008 11:37:28 GMT</pubDate></item></channel></rss>