<?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[Wie einen char* richtig returnen?]]></title><description><![CDATA[<p>Hi folks!<br />
Sry, wenn die frage zu primitiv erscheint, ich habe hier jetzt jedoch folgendes problem:</p>
<p>Ich habe eine klasse, diese klasse hat eine methode, die bestimmte werte der member-variablen in ein string schreiben und zurückgeben soll, etwa so:</p>
<pre><code class="language-cpp">class myClass{
public int a,b,c;
  //... lauter tolle und nützliche sachn
  //die funktion [funktioniert nicht richtig]
  char* toString(){
    char szOutput[64];
    sprintf(szOutput, &quot;Values: a= %i b= %i c= %i&quot;, a,b,c);
    return szOutput;
  }
};
</code></pre>
<p>selbstverständlich kann diese funktion nicht richtig funktionieren, weil szOutput als lokale variable auf dem stack erzeugt wird, und gleich nach dem verlassen der funktion wieder mit anderem schrott vollgeschrieben wird. Das meldet der compiler auch als warnung (&quot;zeiger auf eine lokale variable wird zurückgegeben&quot;)<br />
Doch wie soll ich das jetzt machen, sodass ich der funktion keinen fertigen buffer übergeben muss (will die länge des buffers nicht nochmal ausserhalb der funktion angeben, für den fall, dass sich was ändert) [So solls nicht aussehen:]</p>
<pre><code class="language-cpp">void toString(char* szOutput){
  sprintf(szOutput, &quot;Values: a= %i b= %i c= %i&quot;, a,b,c);
}

//und dann irgendwo verwenden:
char buffer[64]; //oder doch 128... oder 256... oder was?
myObject.toString(buffer);
cout&lt;&lt;buffer&lt;&lt;endl;
</code></pre>
<p>Und das char array irgendwo auf den heap zu schmeissen will ich auch nicht: es wird zwar nicht gleich wieder mit schrott überschrieben, doch dann weis ich nicht, wie ich den array wieder freigeben soll...</p>
<p>Könnte mir jemand irgendeinen guten ratschlag geben, wie dieses problem am besten zu lösen ist? Dank im voraus.</p>
<p>greetz...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176015/wie-einen-char-richtig-returnen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 23:47:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176015.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Mar 2007 13:19:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 13:22:20 GMT]]></title><description><![CDATA[<p>Hi folks!<br />
Sry, wenn die frage zu primitiv erscheint, ich habe hier jetzt jedoch folgendes problem:</p>
<p>Ich habe eine klasse, diese klasse hat eine methode, die bestimmte werte der member-variablen in ein string schreiben und zurückgeben soll, etwa so:</p>
<pre><code class="language-cpp">class myClass{
public int a,b,c;
  //... lauter tolle und nützliche sachn
  //die funktion [funktioniert nicht richtig]
  char* toString(){
    char szOutput[64];
    sprintf(szOutput, &quot;Values: a= %i b= %i c= %i&quot;, a,b,c);
    return szOutput;
  }
};
</code></pre>
<p>selbstverständlich kann diese funktion nicht richtig funktionieren, weil szOutput als lokale variable auf dem stack erzeugt wird, und gleich nach dem verlassen der funktion wieder mit anderem schrott vollgeschrieben wird. Das meldet der compiler auch als warnung (&quot;zeiger auf eine lokale variable wird zurückgegeben&quot;)<br />
Doch wie soll ich das jetzt machen, sodass ich der funktion keinen fertigen buffer übergeben muss (will die länge des buffers nicht nochmal ausserhalb der funktion angeben, für den fall, dass sich was ändert) [So solls nicht aussehen:]</p>
<pre><code class="language-cpp">void toString(char* szOutput){
  sprintf(szOutput, &quot;Values: a= %i b= %i c= %i&quot;, a,b,c);
}

//und dann irgendwo verwenden:
char buffer[64]; //oder doch 128... oder 256... oder was?
myObject.toString(buffer);
cout&lt;&lt;buffer&lt;&lt;endl;
</code></pre>
<p>Und das char array irgendwo auf den heap zu schmeissen will ich auch nicht: es wird zwar nicht gleich wieder mit schrott überschrieben, doch dann weis ich nicht, wie ich den array wieder freigeben soll...</p>
<p>Könnte mir jemand irgendeinen guten ratschlag geben, wie dieses problem am besten zu lösen ist? Dank im voraus.</p>
<p>greetz...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246696</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Fri, 16 Mar 2007 13:22:20 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 13:26:47 GMT]]></title><description><![CDATA[<p>Entweder der C++-Weg:</p>
<pre><code class="language-cpp">string toString() {
    ostringstream ss;
    ss &lt;&lt; &quot;Values: a=&quot; &lt;&lt; a &lt;&lt; ...;
    return ss.str();
}
</code></pre>
<p>Oder mit einem statischen Puffer (ist nicht Threadsafe, zweiter Aufruf zerstört Ergebnis vom ersten Aufruf):</p>
<pre><code class="language-cpp">char const* toString() {
    static char buffer[64];
    snprintf(buffer, sizeof(buffer), ...);
    return buffer;
}
</code></pre>
<p>Oder genau so wie es nicht aussehen soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> :</p>
<pre><code class="language-cpp">int toString(char* buffer, size_t length) {
   return snprintf(buffer, length, ...);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1246702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246702</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 16 Mar 2007 13:26:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 13:44:32 GMT]]></title><description><![CDATA[<p>Ist ja lustig. Innerhalb von 20 Minuten 2 Fragen zu den selben Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246714</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Fri, 16 Mar 2007 13:44:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 13:48:50 GMT]]></title><description><![CDATA[<p>Okay, danke schonmal!<br />
Was die erste lösung angeht: dat versteh ich nich, diese ganzen strings sind irgendwelche schräge dinger, wo man unendlich lang was reinschreiben kann, die dann aber trotzdem ordnungsgemäß von dem stack entfernt werden. Voll praktisch, voll toll, aber ich versteh noch nich, wie die funktionieren, deswegen lass ichs zunächstma (vllt werde ich irgendwann schlauer^^) :p</p>
<p>Was die zweite lösung angeht: für ein singleton wär's ganz okay, aber in meinem fall unbrauchbar.</p>
<p>Also gut, überredet, ich nehm die dritte (so wie ichs nicht haben wollte <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="😃"
    /> )<br />
Wenn ich zusätzlich ne buffer-länge übergebe, kann die funktion zumindest nicht quer durch den stack irgendwelche romane schreiben, damit kann ich schon ganz gut leben <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="👍"
    /></p>
<p>Danke sehr <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/1246721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246721</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Fri, 16 Mar 2007 13:48:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 13:50:34 GMT]]></title><description><![CDATA[<p>@ tntnet... sry, hab deinen beitrag übersehn... was war die zweite frage? moment muss ich ma gugn <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/1246726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246726</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Fri, 16 Mar 2007 13:50:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 14:04:15 GMT]]></title><description><![CDATA[<p>Hallo Andrey,</p>
<p>falls du das Problem mit eigenen Objekten hast, gib nen std::auto_ptr mit<br />
einem auf dem Stack erzeugten Objekt zurück, dann wird das Objekt beim verlassen<br />
des Scopes automatisch gelöscht...</p>
<p>Etwa so:<br />
std::auto_ptr&lt;Foo&gt; getObject() {<br />
return std::auto_ptr&lt;Foo&gt;(new Foo());<br />
}</p>
<p>{<br />
std::auto_ptr&lt;Foo&gt; obj = bar-&gt;getObject();<br />
} // Hier bei der schliessenden Klammer wird das Obj zerstört (Scope)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246734</guid><dc:creator><![CDATA[Helfender]]></dc:creator><pubDate>Fri, 16 Mar 2007 14:04:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 14:23:24 GMT]]></title><description><![CDATA[<p>Hm... Da muss ich erstma überlegen, wie ich das in meinem fall anwenden soll, aber trotzdem danke, werde mal in der dokumentation n bisschen blättern <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/1246746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246746</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Fri, 16 Mar 2007 14:23:24 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 14:40:05 GMT]]></title><description><![CDATA[<p>Nur dass Du Dich nicht zu Tode blätterst: Ich kann schonmal vorwegnehmen, dass auto_ptr nicht für Arrays (und damit auch nicht für C-Strings) geeignet ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246757</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 16 Mar 2007 14:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 15:05:09 GMT]]></title><description><![CDATA[<p><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="😃"
    /> <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246775</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Fri, 16 Mar 2007 15:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 16:03:14 GMT]]></title><description><![CDATA[<p>eine andere relativ gute möglichkeit, wie ich finde ist noch diese:</p>
<pre><code class="language-cpp">char* ToString(int nummer, char* buffer)
{
  sprintf(buffer, &quot;%d&quot;, nummer);
  return buffer;
}
</code></pre>
<p>So musst du zwar trotzdem einen Buffer erstellen, allerdings kannst du die Funktion trotzdem direkt in Ausdrücken verwenden. Programmiert sich um einiges leichter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246808</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Fri, 16 Mar 2007 16:03:14 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 18:25:24 GMT]]></title><description><![CDATA[<p>jojo, hab ich natürlich gemacht, erspart echt ne menge schreibarbeit <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246894</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Fri, 16 Mar 2007 18:25:24 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 18:30:22 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Entweder der C++-Weg:</p>
<pre><code class="language-cpp">string toString() {
    ostringstream ss;
    ss &lt;&lt; &quot;Values: a=&quot; &lt;&lt; a &lt;&lt; ...;
    return ss.str();
}
</code></pre>
</blockquote>
<p>da wird aber der ganze string kopiert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246900</guid><dc:creator><![CDATA[zerformer]]></dc:creator><pubDate>Fri, 16 Mar 2007 18:30:22 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Fri, 16 Mar 2007 18:47:44 GMT]]></title><description><![CDATA[<p>Jaja, und allokiert, und....</p>
<p>Bleibt aber trotzdem der sauberste C++-Weg <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 />
Vom nötigen Aufwand her ähnlich und trotzdem sicher wäre wohl in diesem Fall nur ein boost::shared_array oder ein noch zu entwerfender auto_array, was wohl (gerade für den OP) etwas Overkill wäre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246904</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 16 Mar 2007 18:47:44 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Sat, 17 Mar 2007 01:19:15 GMT]]></title><description><![CDATA[<p>Habe jetzt eine recht komfortable und für mich durchaus akzeptable(was die fehleranfälligkeit angeht) lösung gefunden. Die lautet: singelton klasse, die für alle toString()-methode bereitstellenden objekte erreichbar ist, und einen ziemlich großen char-buffer verwaltet, und dafür sorgt, dass die einzelnen funktionen sich nicht in die quere kommen(solang's nicht zu viele sind).</p>
<p>Klappt ganz gut, das lass ich auch so, ausser ihr erklärt mir, warum man sowas nicht machen darf/warum es keine elegante lösung ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>thx @ all für die vielen ideen <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247051</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Sat, 17 Mar 2007 01:19:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Sat, 17 Mar 2007 04:24:33 GMT]]></title><description><![CDATA[<p>Singleton-Klasse?</p>
<p>Versteh ich in dem Zusammenhang absolut nicht...<br />
Ganz schlechte Lösung...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247075</guid><dc:creator><![CDATA[Helfender]]></dc:creator><pubDate>Sat, 17 Mar 2007 04:24:33 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Sat, 17 Mar 2007 05:21:28 GMT]]></title><description><![CDATA[<blockquote>
<p>und einen ziemlich großen char-buffer verwaltet, und dafür sorgt, dass die einzelnen funktionen sich nicht in die quere kommen(solang's nicht zu viele sind).</p>
</blockquote>
<p>AUA aua aua aua autsch weh.<br />
Das nicht gut.<br />
Auf der einen Seite kannst du zwar nix garantieren (&quot;solang's nicht zu viele sind&quot;), auf der anderen Seite versuchst dus trotzdem. Das kann nicht gut gehen. Das üble daran ist dass du so von Anfang an einen Fehler in dein Programm reinprogrammierst, und noch übler wird es durch die Tatsache dass &quot;solang's nicht zu viele sind&quot; alles zu funktionieren scheint. Wenns dann aber &quot;zuviele sind&quot; wird es boom machen. Und ob das in einer Art und Weise passiert dass du sofort draufkommst woran es liegt ist fraglich.</p>
<p>Anders ausgedrückt: die Fehleranfälligkeit ist nicht akzeptabel solange sie nicht 0 ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247077</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 17 Mar 2007 05:21:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie einen char* richtig returnen? on Sat, 17 Mar 2007 15:38:34 GMT]]></title><description><![CDATA[<p>so, bevor ich hier komplett zur sau gemacht werde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> , zeig ich ma lieber, was ich da eigentlich gemacht habe:</p>
<pre><code class="language-cpp">#include &quot;UC_Singleton.hpp&quot;
#define MAX_BUFFER_LENGTH 5120

class UC_StringBuffer:public UC_Singleton&lt;UC_StringBuffer&gt;
{
private:
        //char-buffer
	char buffer[MAX_BUFFER_LENGTH];

        //offset to an empty segment
	int emptySegmentOffset;  

public:

	//constructor destructor
	UC_StringBuffer(){ emptySegmentOffset=0; }
	~UC_StringBuffer(){}

	char* GetBuffer(int bufferLength){

	//required buffer is too long
	if(bufferLength&gt;MAX_BUFFER_LENGTH){
		//not enough space, returning nullpointer
		return NULL;	
	}

	//pointer to a free(?) segment of the buffer
	char* pFreeSegment; 

	if(emptySegmentOffset+bufferLength&gt;MAX_BUFFER_LENGTH){
		//overwrite the start of the buffer
		pFreeSegment=&amp;buffer[0];
		//update the emptySegmentOffset-offset
		emptySegmentOffset=bufferLength;
	}else{
		//append the segment
		pFreeSegment=&amp;buffer[emptySegmentOffset];
		//update the emptySegmentOffset-offset
		emptySegmentOffset+=bufferLength;
	}

	return pFreeSegment;
	}

};
</code></pre>
<p>und jezt zu den genannten problemen:</p>
<blockquote>
<p>Wenns dann aber &quot;zuviele sind&quot; wird es boom machen.</p>
</blockquote>
<p>Eben nicht! zwar wird der buffer vollgemüllt, aber es kommt nicht zum absturz <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
<blockquote>
<p>Und ob das in einer Art und Weise passiert dass du sofort draufkommst woran es liegt ist fraglich.</p>
</blockquote>
<p>Ich finde, es ist eigentlich einfacher, nur in dieser einen funktion nach fehlern zu suchen. Ansonsten müsste ich ja vor jedem aufruf der toString() funktion einen buffer anlegen, wo die funktion dann was reinschreiben kann. Wäre ein buffer nicht groß genug, würde alles abstürzen, und ich müsste den ganzen code nach diesem buffer absuchen. <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>
<blockquote>
<p>die Fehleranfälligkeit ist nicht akzeptabel solange sie nicht 0 ist.</p>
</blockquote>
<p>c++ programme sind doch immer bei char-arrays fehleranfällig, wenn man zu wenig speicherplatz reserviert, dann krachts halt... :p Soll ich jetzt deswegen auf java umsteigen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>aber danke schön schonma für die konstruktive kritik <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="🙂"
    /> <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247304</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Sat, 17 Mar 2007 15:38:34 GMT</pubDate></item></channel></rss>