<?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[Problem mit Vector &amp;gt;_&amp;lt;]]></title><description><![CDATA[<p>Hallo wie kann ich die Vector Variable var im Hauptprogramm ausgeben ?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows&gt;
#include &lt;vector&gt;
using namespace std;

char* app (const char *str1 , const char *str2 , long length);

int main()
{

char *str1 = &quot;Das ist eine &quot;;
char *str2 = &quot;Test Funktion&quot;;

app (  str1,  str2  ,  26  );

system(&quot;PAUSE&quot;);
}
//---------------------------------------------------------------------------

char* app ( const char *str1 , const char *str2 , long length )
{

vector &lt;char&gt;var(length);
int j;

for (unsigned long i=0 ; i&lt; strlen(str1)  ; i++)
{
        var [i] = str1[i];

}

for (unsigned long i= strlen(str1) , j=0 ; i&lt;strlen(str2) , j&lt;strlen(str2) ; i++,j++ )
{
        var [i] = str2[j];

}

#define test
#ifdef test
for ( long i=0 ; i &lt; length ; i ++ )
{
       cout&lt;&lt;var[i];

}
#endif

var[length] = '\0';

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/279019/problem-mit-vector-gt-_-lt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 20:19:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279019.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Dec 2010 12:57:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 12:57:16 GMT]]></title><description><![CDATA[<p>Hallo wie kann ich die Vector Variable var im Hauptprogramm ausgeben ?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows&gt;
#include &lt;vector&gt;
using namespace std;

char* app (const char *str1 , const char *str2 , long length);

int main()
{

char *str1 = &quot;Das ist eine &quot;;
char *str2 = &quot;Test Funktion&quot;;

app (  str1,  str2  ,  26  );

system(&quot;PAUSE&quot;);
}
//---------------------------------------------------------------------------

char* app ( const char *str1 , const char *str2 , long length )
{

vector &lt;char&gt;var(length);
int j;

for (unsigned long i=0 ; i&lt; strlen(str1)  ; i++)
{
        var [i] = str1[i];

}

for (unsigned long i= strlen(str1) , j=0 ; i&lt;strlen(str2) , j&lt;strlen(str2) ; i++,j++ )
{
        var [i] = str2[j];

}

#define test
#ifdef test
for ( long i=0 ; i &lt; length ; i ++ )
{
       cout&lt;&lt;var[i];

}
#endif

var[length] = '\0';

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995808</guid><dc:creator><![CDATA[vec]]></dc:creator><pubDate>Fri, 17 Dec 2010 12:57:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 13:12:26 GMT]]></title><description><![CDATA[<p>Dann mußt du den vector aus der Methode als Rückgabewert zurückliefern<br />
(&amp; die Signatur der Funktion ändern).</p>
<p>Allerdings kann man das, was du machen möchtest auch schön mit<br />
std::string machen. Falls es sehr viele Konkatenationen sind, dann gibts<br />
noch performantere Sachen.</p>
<p>Ich denke du willst sowas:</p>
<pre><code class="language-cpp">char *str1 = &quot;Das ist eine &quot;;
char *str2 = &quot;Test Funktion&quot;;

std::string myString(str1);
myString +=  str2;
std::cout &lt;&lt; myString &lt;&lt; std::endl;
</code></pre>
<p>EDIT: Du proggst (abgesehen von vector) eher C als C++</p>
<p>Gruß,<br />
XSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995815</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:12:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 13:38:49 GMT]]></title><description><![CDATA[<p>Ja das ich den irgendwie als Rückgabewert zurückliefern muss das weiss ich.<br />
Aber wie funktioniert das mit einem Vector?</p>
<p>Einfach return &amp;var; geht ja nicht <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>
<p>Und ja ich weiss man könnte das einfacher machen aber ich will es jetzt so machen.</p>
<p>Dient ja nur als Übung. :&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995824</guid><dc:creator><![CDATA[vec]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:38:49 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 13:42:29 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">vector&lt;char&gt; app( const char *str1 , const char *str2 , long length )
{
  vector &lt;char&gt;var(length);
  //...
  return var;
}
</code></pre>
<p>und</p>
<pre><code class="language-cpp">std::vector&lt;char&gt; v;
v = app(str1,str2,26);
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">std::vector&lt;char&gt; v(app(str1,str2,26));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995827</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:42:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 13:43:18 GMT]]></title><description><![CDATA[<p>Am besten, du gibst App einen Vektor per Referenz mit, in den es dann schreibt!</p>
<pre><code class="language-cpp">void app( std::vector&lt; char &gt;&amp; theVec, const char* a, const char* b, unsigned int count )
{
   / ....
}

int main()
{
    std::vector&lt; char &gt; myVec;

    app( myVec, str1, str2, 26 );
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995828</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:43:18 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 13:50:30 GMT]]></title><description><![CDATA[<p>Decimad schrieb:</p>
<blockquote>
<p>Am besten, du gibst App einen Vektor per Referenz mit, in den es dann schreibt!</p>
<pre><code class="language-cpp">void app( std::vector&lt; char &gt;&amp; theVec, const char* a, const char* b, unsigned int count )
{
   / ....
}

int main()
{
    std::vector&lt; char &gt; myVec;

    app( myVec, str1, str2, 26 );
}
</code></pre>
</blockquote>
<p>Und was ist daran besser? Der vector soll ein Rückgabewert sein, dann mach ihn auch zu einem. Gehts dir um Geschwindigkeit? <a href="http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/" rel="nofollow">Want Speed? Pass by Value.</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995831</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:50:30 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 13:51:52 GMT]]></title><description><![CDATA[<p>Decimad schrieb:</p>
<blockquote>
<p>Am besten, du gibst App einen Vektor per Referenz mit, in den es dann schreibt!</p>
</blockquote>
<p>Dann schreib aber auch noch, was der Vorteil davon ist <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 meinem Fall muss der Vector bei der Rückgabe noch kopiert werden.</p>
<p>Vorteil meiner Variante ist, dass man sofort sieht, was denn eigentlich<br />
zurückgeliefert wird. Ab c++0x ist Dank eines zusätzlichen Features<br />
keine mehr Kopie mehr nötig.<br />
Zudem wird dein Kompiler die Kopie in deinem Fall sicherlich wegoptimeren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995832</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:51:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 13:53:42 GMT]]></title><description><![CDATA[<p>XSpille schrieb:</p>
<blockquote>
<p>Ab c++0x ist Dank eines zusätzlichen Features<br />
keine mehr Kopie mehr nötig.</p>
</blockquote>
<p>Inwiefern ändert sich mit C++ 0x die RVO? Ich kenne keinen Compiler, der die Kopie wirklich machen würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995835</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:53:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 13:57:09 GMT]]></title><description><![CDATA[<p>Schaut bitte mal auf die Zeit!<br />
Mein Posting bezog sich nicht auf das von XSpille.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995837</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:57:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 13:59:14 GMT]]></title><description><![CDATA[<p>vec schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>Du würdest uns allen helfen, wenn du deinen Code besser formatierst (Sinnvoll einrückst, Abstände auf ein sinnvolles Minimum reduzierst, und vor allem den Code durch verständliche Bezeichner lesbarer machst).</p>
<p>Eine weitere sinnvolle Regel: Eine Funktion sollte nach Möglichkeit nur eine Aufgabe erfüllen.</p>
<p>Die Rückgabe eines Vectors kann man genauso wie bei jeder anderen Variablen machen: &quot;return objekt;&quot;</p>
<pre><code class="language-cpp">std::vector foo()
{
    std::vector v;
    // ...
    return v;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995840</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 17 Dec 2010 13:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 14:07:39 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>Inwiefern ändert sich mit C++ 0x die RVO?</p>
</blockquote>
<p>Es liegt nicht daran, dass sich an der RVO etwas ändert, sondern an der<br />
Einführung von rvalue-Referenzen.<br />
Ich bin da leider noch kein Fachmann, aber da wird dann ein anderer Konstruktor<br />
aufgerufen:</p>
<pre><code class="language-cpp">Foo(Foo&amp;&amp; foo){ // EDIT2: Ui... Ich glaub das const war falsch (Kann es leider atm nicht testen)
}
</code></pre>
<p>Dieser geht davon aus, dass das Foo-Objekt danach nicht mehr verwendet wird<br />
und beim vector, der den (sicherlich) implementiert, wird der interne Zeiger<br />
(so vermute ich) auf 0 gesetzt, so dass der Inhalt nicht kopiert werden muss.<br />
Ein minimaler Overhead bleibt vermutlich trotzdem.</p>
<p>Falls meine Aussage nicht ganz korrekt ist, lasse ich mich gerne korrigieren.</p>
<p>Michael E. schrieb:</p>
<blockquote>
<p>Ich kenne keinen Compiler, der die Kopie wirklich machen würde.</p>
</blockquote>
<p>Sobald deine Funktion virtual ist, wird es vermutlich schwer.<br />
Und wenn verschiedene Vectoren in der Funktion erstellt werden.</p>
<p>EDIT: Ich glaub ein analoger Zuweisungsoperator existiert auch für vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995844</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:07:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 14:03:08 GMT]]></title><description><![CDATA[<p>Decimad schrieb:</p>
<blockquote>
<p>Schaut bitte mal auf die Zeit!<br />
Mein Posting bezog sich nicht auf das von XSpille.</p>
</blockquote>
<p>Ist nen Argument <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="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995846</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:03:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 14:11:20 GMT]]></title><description><![CDATA[<p>Ja, sobald R-Value-Referenzen unterstützt werden, werde ich sie dankend nutzen und mich freuen. Hat eigentlich viel zu lange gedauert, das <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="😃"
    /> Bis dahin hab ich mich dran gewöhnt, das halt per übergebener Referenz dem Optimierer vorwegzunehmen (so er es denn für mich tun würde, ich muss es nicht kontrollieren! <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="🙂"
    /> ) und es bedeutet ja nun auch nicht wirklich mehr Schreibaufwand.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995852</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:11:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 14:43:10 GMT]]></title><description><![CDATA[<p>So lässt sich die Variable ja jetzt zurück geben.</p>
<p>Aber wie kann ich mit C++ den jetzt die Daten ausgeben ohne z.b. eine for Schleife zu benutzen ?</p>
<p>( Falls wer ein Tutorial kennt wo so etwas behandelt wird plz posten ^^<br />
Den hier steht nix davon: <a href="http://www.dreamincode.net/forums/topic/33631-c-vector-tutorial/" rel="nofollow">http://www.dreamincode.net/forums/topic/33631-c-vector-tutorial/</a> )</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> So langsam nerven diese Vektoren aber ich will wissen wie der Müll funktioniert xD</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14941">@asc</a><br />
Ja meine Code einrückung das hab ich schon 1000 mal gehört das mein Code angeblich nicht so leserlich ist jedoch weiss ich nicht was daran schlecht eingerückt sein soll meiner Meinung nach ist das Geschmackssache.<br />
Du kannst ja mal zeigen wie du den einrücken würdest.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows&gt;
#include &lt;vector&gt;
#include &lt;fstream&gt;
using namespace std;

vector &lt;char&gt; app (  char *str1 ,  char *str2 , long length) ;

int main()
{

char *str1 = &quot;Das ist eine &quot;;
char *str2 = &quot;Test Funktion&quot;;

vector&lt;char&gt;ret;

    ret = app (  str1,  str2  ,  26  );

cout&lt;&lt;ret[0];
// cout&lt;&lt;ret; //[C++ Fehler] Unit1.cpp(26): E2094 'operator&lt;&lt;' ist im Typ 
 // 'ostream' für Argumente des Typs 'vector&lt;char,allocator&lt;char&gt; &gt;' nicht  
 // implementiert

// printf(&quot;%s&quot;,ret);   // gibt den string komplett aus

system(&quot;PAUSE&quot;);
}
//---------------------------------------------------------------------------

vector &lt;char&gt; app (   char *str1 ,  char *str2 , long length )
{
vector &lt;char&gt;var(length);
int j;

        for (unsigned long i=0 ; i&lt; strlen(str1)  ; i++)
        {
                var [i] = str1[i];
        }

        for (unsigned long i= strlen(str1) , j=0 ; i&lt;strlen(str2) , j&lt;strlen(str2) ; i++,j++ )
        {
                var [i] = str2[j];
        }

        #define tes
        #ifdef test
        for ( long i=0 ; i &lt; length ; i ++ )
        {
                cout&lt;&lt;var[i];
        }
        #endif

var[length] = '\0';

return var;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995875</guid><dc:creator><![CDATA[vec]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:43:10 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 14:46:25 GMT]]></title><description><![CDATA[<p>Auf irgendeine Form von Schleife musst du sowieso zurückgreifen, ob sichtbar oder versteckt. Wenn du es nur nicht sehen willst, musst du einen Funktor schreiben, der das Argument im operator() auf cout ausgibt und dann bspw. std::for_each verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995877</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:46:25 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 14:55:55 GMT]]></title><description><![CDATA[<p>Einen Functor kenne ich noch nicht da muss ich mich dann nochmal mit beschäftigen.</p>
<p>Genau so wie mit dem Vector &gt;_&lt;</p>
<p>Ich hab das Problem jetzt erst mal so gelöst.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows&gt;
#include &lt;vector&gt;
#include &lt;fstream&gt;
using namespace std;

vector &lt;char&gt; app (  char *str1 ,  char *str2 , long length);
void print_vector( vector&lt;char&gt;ret );

int main()
{

char *str1 = &quot;Das ist eine &quot;;
char *str2 = &quot;Test Funktion&quot;;
vector&lt;char&gt;ret;

    ret = app (  str1,  str2  ,  26  );
    print_vector( ret );

cout&lt;&lt;endl;

system(&quot;PAUSE&quot;);
}
//---------------------------------------------------------------------------

vector &lt;char&gt; app (   char *str1 ,  char *str2 , long length )
{
vector &lt;char&gt;var(length);
int j;

        for (unsigned long i=0 ; i&lt; strlen(str1)  ; i++)
        {
                var [i] = str1[i];
        }

        for (unsigned long i= strlen(str1) , j=0 ; i&lt;strlen(str2) , j&lt;strlen(str2) ; i++,j++ )
        {
                var [i] = str2[j];
        }

        #define tes
        #ifdef test
        for ( long i=0 ; i &lt; length ; i ++ )
        {
                cout&lt;&lt;var[i];
        }
        #endif

var[length] = '\0';

return var;
}

void print_vector( vector&lt;char&gt;ret )
{

        for ( unsigned  i=0 ; i &lt; ret.size() ; i++ )
        {
             cout&lt;&lt; ret [i];
        }

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995884</guid><dc:creator><![CDATA[vec]]></dc:creator><pubDate>Fri, 17 Dec 2010 14:55:55 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 15:06:52 GMT]]></title><description><![CDATA[<p>Da du ja auf Form auch nicht so viel Wert legst...^^...</p>
<pre><code class="language-cpp">template&lt; typename T &gt;
class ostreamer {
public:
    ostreamer( ostream&amp; o ) : stream_( o ) {}

    void operator()( const T&amp; arg ) {
        stream_ &lt;&lt; elem;
    }
private:
    std::ostream&amp; stream_;
};

template&lt;typename T&gt;
std::ostream&amp; operator&lt;&lt;( std::ostream&amp; stream, const std::vector&lt;T&gt;&amp; vec )
{
     std::for_each( vec.begin(), vec.end(), ostreamer&lt;T&gt;(stream) );
     return stream;
}

void somefunc() {
    std::vector&lt; char &gt; some;

    // ...
    std::cout &lt;&lt; some;
}
</code></pre>
<p>Wahrscheinlich gibts noch irgendeinen Trick mit output-iteratoren um sich den Funktor zu sparen. Oder du verwendest gleich std::string's.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995891</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Dec 2010 15:06:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 15:16:26 GMT]]></title><description><![CDATA[<p>vec schrieb:</p>
<blockquote>
<p>Ja meine Code einrückung das hab ich schon 1000 mal gehört das mein Code angeblich nicht so leserlich ist jedoch weiss ich nicht was daran schlecht eingerückt sein soll meiner Meinung nach ist das Geschmackssache.</p>
</blockquote>
<p>Dein Code lässt sich ähnlich schlecht lesen, wie dieser Satz (der entweder in viele kleine Sätze, oder durch Kommata getrennt gehört).</p>
<p>Grobe möglichst allgemein gehaltene Regeln für eine lesbare Formatierung:<br />
1. Rücke Code nach den Scopes (Geltungsbereichen) ein.<br />
- Negativbeispiel: z.B: Deine Variablendeklaration in der main(), im Vergleich zu den später folgenden Code...<br />
2. Übertreibe Codeabstände nicht (1 Leerzeile reicht in der Regel).<br />
- Negativbeispiele wirst du selbst finden...<br />
3. Sei konsequent bei den Einrückungen und Abständen.<br />
- Negativbeispiel: z.B: &quot;var [i] = str1[i]&quot;</p>
<p>Ich rücke mal deinen letzten Code so ein, wie ich es machen würde, auch wenn es verschiedene Varianten gibt:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows&gt;
#include &lt;vector&gt;
#include &lt;fstream&gt;

using namespace std;

vector&lt;char&gt; app(
    char *str1,
    char *str2,
    long length);
void print_vector(
    vector&lt;char&gt; ret);

int main()
{
    char *str1 = &quot;Das ist eine &quot;;
    char *str2 = &quot;Test Funktion&quot;;
    vector&lt;char&gt;ret;

    ret = app(str1, str2, 26);
    print_vector(ret);
    cout &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
}

//---------------------------------------------------------------------------

vector&lt;char&gt; app(
    char *str1,
    char *str2,
    long length)
{
    vector &lt;char&gt;var(length);
    int j;

    for(unsigned long i=0; i&lt;strlen(str1); i++)
    {
        var [i] = str1[i];
    }

    for(unsigned long i= strlen(str1), j=0; i&lt;strlen(str2), j&lt;strlen(str2); i++,j++)
    {
        var [i] = str2[j];
    }

// Bedingte Makros lege ich in der Regel auf die erste Ebene, um diese sofort
// zu sehen...
#define tes
#ifdef test
    for ( long i=0 ; i &lt; length ; i ++ )
    {
        cout&lt;&lt;var[i];
    }
#endif

    var[length] = '\0';
    return var;
}

void print_vector(
    vector&lt;char&gt; ret)
{
    for(unsigned  i=0; i&lt;ret.size(); i++)
    {
        cout&lt;&lt; ret [i];
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995900</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 17 Dec 2010 15:16:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 15:25:59 GMT]]></title><description><![CDATA[<p>vec schrieb:</p>
<blockquote>
<p>Aber wie kann ich mit C++ den jetzt die Daten ausgeben ohne z.b. eine for Schleife zu benutzen ?</p>
</blockquote>
<p>Immer wenn du Daten in einer Liste hällst musst du dich auch darum kümmern diese zu durchlaufen.</p>
<p>Aber ja, es gibt Kurzformen. Nur werden sie für dich nicht unbedingt verständlich sein:</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt; // u.a. std::copy
#include &lt;iostream&gt;
#include &lt;iterator&gt;  // u.a. std::ostream_iterator
#include &lt;vector&gt;

int main()
{
   std::vector&lt;int&gt; v;
   v.push_back(123);
   v.push_back(456);
   v.push_back(789);

   // Ausgabestream-Iterator mit Trennzeichen (hier z.B. &quot;-&quot;).
   std::ostream_iterator&lt;int&gt; output(std::cout, &quot;-&quot;);
   // Vectorinhalt nach cout &quot;kopieren&quot;
   std::copy(v.begin(), v.end(), output);

   // Kurzform:
   std::copy(v.begin(), v.end(), std::ostream_iterator&lt;int&gt;(std::cout, &quot;-&quot;));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1995904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995904</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 17 Dec 2010 15:25:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 15:31:30 GMT]]></title><description><![CDATA[<p>Da war er der output-iterator! <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="😃"
    /> Ich huldige ihm!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995907</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Dec 2010 15:31:30 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Vector &amp;gt;_&amp;lt; on Fri, 17 Dec 2010 18:06:31 GMT]]></title><description><![CDATA[<p>Danke für die Antworten.</p>
<p>Da hab ich ja noch einiges zu tun. (:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1995986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1995986</guid><dc:creator><![CDATA[vec]]></dc:creator><pubDate>Fri, 17 Dec 2010 18:06:31 GMT</pubDate></item></channel></rss>