<?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[C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;?]]></title><description><![CDATA[<p>Hi! Ich brauche Goto für ein bestimmtes Projekt. Bis jetzt habe ich meine Aufgabenstellung erfüllt.</p>
<p>Ich möchte nur wissen, ob es eine Möglichkeit gibt von einem Goto-Sprung zurückzukehren?</p>
<pre><code>#include &lt;iostream&gt;

int main(int argc, char* argv[])
{
     //mach was
     goto marke;
     // XX_1

     // mach noch was
     goto marke;
     // XX_1

marke:
     // mach was
     // kehre zu &quot;XX_1&quot; zurück
}
</code></pre>
<p>In dem Falle stellt</p>
<pre><code>XX_1
</code></pre>
<p>den Punkt da, von wo er weitermachen soll. Er soll einfach nur zurückkehren und nach der Sprung-Anweisung die nächsten Befehle ausführen.</p>
<p>Das wäre mit Funktionen sicherlich wesentlich einfacher - jedoch nicht gestattet.</p>
<p>Ist das also so irgendwie möglich?<br />
Danke <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/topic/339919/c-goto-von-sprungmarke-quot-zurückkehren-quot</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 17:00:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339919.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Oct 2016 10:04:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sat, 08 Oct 2016 10:04:26 GMT]]></title><description><![CDATA[<p>Hi! Ich brauche Goto für ein bestimmtes Projekt. Bis jetzt habe ich meine Aufgabenstellung erfüllt.</p>
<p>Ich möchte nur wissen, ob es eine Möglichkeit gibt von einem Goto-Sprung zurückzukehren?</p>
<pre><code>#include &lt;iostream&gt;

int main(int argc, char* argv[])
{
     //mach was
     goto marke;
     // XX_1

     // mach noch was
     goto marke;
     // XX_1

marke:
     // mach was
     // kehre zu &quot;XX_1&quot; zurück
}
</code></pre>
<p>In dem Falle stellt</p>
<pre><code>XX_1
</code></pre>
<p>den Punkt da, von wo er weitermachen soll. Er soll einfach nur zurückkehren und nach der Sprung-Anweisung die nächsten Befehle ausführen.</p>
<p>Das wäre mit Funktionen sicherlich wesentlich einfacher - jedoch nicht gestattet.</p>
<p>Ist das also so irgendwie möglich?<br />
Danke <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/2510935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510935</guid><dc:creator><![CDATA[Gast1]]></dc:creator><pubDate>Sat, 08 Oct 2016 10:04:26 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sat, 08 Oct 2016 10:08:29 GMT]]></title><description><![CDATA[<p>Nein, das gibt es nicht. Das musst du zu Fuß machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510936</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sat, 08 Oct 2016 10:08:29 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sat, 08 Oct 2016 10:11:20 GMT]]></title><description><![CDATA[<p>Das nennt sich Funktionsaufruf. Und funktioniert sogar ohne goto!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510937</guid><dc:creator><![CDATA[SG1]]></dc:creator><pubDate>Sat, 08 Oct 2016 10:11:20 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sat, 08 Oct 2016 10:13:28 GMT]]></title><description><![CDATA[<p>Vielleicht bei XX_1 eine marke2: einfügen und unten ein goto zu dieser marke2.</p>
<p>Was aber passiert, wenn man zwei &quot;marken&quot; mit dem gleichen Namen hat, weiss ich nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510938</guid><dc:creator><![CDATA[titan99_]]></dc:creator><pubDate>Sat, 08 Oct 2016 10:13:28 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sat, 08 Oct 2016 10:25:07 GMT]]></title><description><![CDATA[<p>SG1 schrieb:</p>
<blockquote>
<p>Das nennt sich Funktionsaufruf. Und funktioniert sogar ohne goto!</p>
</blockquote>
<p>Das habe ich doch sogar noch beschrieben. Mit Funktionen wärs einfacher, aber es ist in diesem Falle nicht gestattet.</p>
<p>manni66 schrieb:</p>
<blockquote>
<p>Nein, das gibt es nicht. Das musst du zu Fuß machen.</p>
</blockquote>
<p>titan99_ schrieb:</p>
<blockquote>
<p>Vielleicht bei XX_1 eine marke2: einfügen und unten ein goto zu dieser marke2.</p>
<p>Was aber passiert, wenn man zwei &quot;marken&quot; mit dem gleichen Namen hat, weiss ich nicht.</p>
</blockquote>
<p>Danke euch beiden, ich muss sonnst mal schauen wie ich das Problem löse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510939</guid><dc:creator><![CDATA[Gast1]]></dc:creator><pubDate>Sat, 08 Oct 2016 10:25:07 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sat, 08 Oct 2016 11:08:57 GMT]]></title><description><![CDATA[<p>Du kannst was mit <em>setjmp</em> und <em>longjmp</em> zusammenbasteln. Aber das wäre C und du programmierst in C++, und in C++ braucht man <em>goto</em> nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510943</guid><dc:creator><![CDATA[Techel]]></dc:creator><pubDate>Sat, 08 Oct 2016 11:08:57 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sun, 09 Oct 2016 00:54:14 GMT]]></title><description><![CDATA[<p>Gast1 schrieb:</p>
<blockquote>
<p>Hi! Ich brauche Goto für ein bestimmtes Projekt.<br />
(...)<br />
Ich möchte nur wissen, ob es eine Möglichkeit gibt von einem Goto-Sprung zurückzukehren?</p>
</blockquote>
<p>Nein, du <em>brauchst</em> nie <code>goto</code> (in Sinne von: <code>goto</code> ist nie notwendig/unumgänglich).<br />
Lern einfach ordentlich programmieren. Dann kannst du das &quot;zurückzukehren&quot; - wie SG1 schon geschrieben hat - einfach mit einem Funktionsaufruf machen (bzw. dem <code>return</code> davon).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511012</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 09 Oct 2016 00:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sun, 09 Oct 2016 17:36:45 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Nein, du <em>brauchst</em> nie <code>goto</code> (in Sinne von: <code>goto</code> ist nie notwendig/unumgänglich).</p>
</blockquote>
<p>Ist doch Quatsch <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="😉"
    /> Es gibt Algorithmen mit verschachtelten Schleifen, die kann man sehrwohl mit einem goto alle verlassen. PHP hat da einen großen Vorteil - es erlaubt z.B. einem &quot;break&quot; auch die Anzahl der Ebenen zu übergeben, die verlassen werden sollen.</p>
<p>Ähnlich wenn z.B. vor einem Return z.B. kleine Cleanup Aufgaben ausgeführt werden sollen, und eine Funktion an mehreren Stellen beendet werden kann.</p>
<p>Für jeden kleinsten Käse eine eigene Funktion zu schreiben ist auch nicht gerade schöner Stil... Du solltest goto lediglich sparsam einsetzen und stark aufpassen <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="👍"
    /> <strong>Mitunter</strong> gibt es sinnvollere und sicherere Methoden ein goto zu umgehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511055</guid><dc:creator><![CDATA[gotoHustbaer]]></dc:creator><pubDate>Sun, 09 Oct 2016 17:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sun, 09 Oct 2016 17:59:14 GMT]]></title><description><![CDATA[<p>RAII macht da deutlich mehr Spaß als <em>goto</em>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511056</guid><dc:creator><![CDATA[Techel]]></dc:creator><pubDate>Sun, 09 Oct 2016 17:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Sun, 09 Oct 2016 22:06:56 GMT]]></title><description><![CDATA[<p>gotoHustbaer schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Nein, du <em>brauchst</em> nie <code>goto</code> (in Sinne von: <code>goto</code> ist nie notwendig/unumgänglich).</p>
</blockquote>
<p>Ist doch Quatsch <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="😉"
    /> Es gibt Algorithmen mit verschachtelten Schleifen, die kann man sehrwohl mit einem goto alle verlassen.</p>
</blockquote>
<p>Ich glaube nicht dass du die Bedeutung von &quot;brauchen&quot;, &quot;notwendig&quot; oder &quot;unumgänglich&quot; verstanden hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511070</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 09 Oct 2016 22:06:56 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 06:53:05 GMT]]></title><description><![CDATA[<p>gotoHustbaer schrieb:</p>
<blockquote>
<p>Für jeden kleinsten Käse eine eigene Funktion zu schreiben ist auch nicht gerade schöner Stil...</p>
</blockquote>
<p>Ich halte goto für weitaus schlechteren Stil als kleine Funktionen, die dann auch noch eigenständig getestet werden können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511078</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 10 Oct 2016 06:53:05 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 07:52:47 GMT]]></title><description><![CDATA[<p>da kann man mal sehen, was bei dem ständigen &quot;kein goto benutzeneinself&quot; rauskommt: die leute können nicht mal mehr goto benutzen. <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>
<p>eine möglichkeit wäre jedenfalls</p>
<pre><code>goto unterprogramm;
rueckkehr_von_unterprogramm:
//mach was

unterprogramm:
//mach was
goto rueckkehr_von_unterprogramm;
</code></pre>
<p>gerne auch in kombination mit zustandsvariablen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511081</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 10 Oct 2016 07:52:47 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 08:29:05 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Nein, du <em>brauchst</em> nie <code>goto</code> (in Sinne von: <code>goto</code> ist nie notwendig/unumgänglich).</p>
</blockquote>
<p>Das ist entweder eine Nullaussage, oder irreführend. Ich brauche auch nie eine höhere Programmiersprache, denn sie kompiliert ja sowieso zu Maschinencode. Aber wo <code>goto</code> stilistisch vernünftig ist, kannst du nicht einfach kategorisch abschlagen.</p>
<p>Wobei</p>
<pre><code>for (...)
  for (...)
  {
     ..
     if (...)
       goto end;
  }

end:
</code></pre>
<p>fände ich gar nicht direkt abwegig, wenn <code>..</code> nicht mehr als ein, zwei Zeilen enthält. Da würde ich nicht unbedingt in eine Funktion auslagern wollen, um irgendeiner Faustregel gerecht zu werden. In einem solchen Szenario ist <code>goto</code> womöglich einfach die prägnanteste Lösung.</p>
<p>Edit: Da ich aber keine Praxiserfahrung habe, lass ich mich gerne vom Gegenteil überzeugen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511083</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Mon, 10 Oct 2016 08:29:05 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 08:44:16 GMT]]></title><description><![CDATA[<p>HansKlaus schrieb:</p>
<blockquote>
<p>goto ... zustandsvariablen.</p>
</blockquote>
<p>Soll das so eine Art Sammlung von Antipatterns sein? Dass die Leute damit nicht umgehen können, hat man vor 50 Jahren festgestellt und dann mühsam dafür gekämpft, es auszurotten. Und heute kommen Leute und propagieren das Gegenteil, weil sie nie kennen gelernt haben, wie es früher war. Erinnert mich sehr an die Impfverweigerer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511084</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 10 Oct 2016 08:44:16 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 09:10:38 GMT]]></title><description><![CDATA[<p>wenn mans unbedingt so machen möchte......</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511086</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 10 Oct 2016 09:10:38 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 09:25:45 GMT]]></title><description><![CDATA[<p>HansKlaus schrieb:</p>
<blockquote>
<p>da kann man mal sehen, was bei dem ständigen &quot;kein goto benutzeneinself&quot; rauskommt: die leute können nicht mal mehr goto benutzen. <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>
<p>eine möglichkeit wäre jedenfalls</p>
<pre><code>goto unterprogramm;
rueckkehr_von_unterprogramm:
//mach was

unterprogramm:
//mach was
goto rueckkehr_von_unterprogramm;
</code></pre>
<p>gerne auch in kombination mit zustandsvariablen.</p>
</blockquote>
<p>Es ist aber gewünscht, unterprogramm von verschiedenen Stellen aus anzuspringen, und dann jeweiles zur 'richtigen' Absprungstelle zurückzukehren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511087</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Mon, 10 Oct 2016 09:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 09:43:34 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Es ist aber gewünscht, unterprogramm von verschiedenen Stellen aus anzuspringen, und dann jeweiles zur 'richtigen' Absprungstelle zurückzukehren.</p>
</blockquote>
<p>Er meint, dass du vor dem Sprung eine globale Variable setzen sollst, die dann das Rücksprungziel anzeigt. Du weißt schon: Saubere, fehlerrobuste Programmierung.</p>
<p>PS: Und bevor jemand fragt: Nein, offiziell kann man Labels nicht als Werte benutzen. Mindestens der GCC hat aber eine Spracherweiterung dafür:</p>
<pre><code>#include &lt;iostream&gt;

int main() 
{
	void *return_label = nullptr;
	goto main;

	sub_proc:
	std::cout &lt;&lt; &quot;Sub&quot;;
	goto *return_label;

	main:
	std::cout &lt;&lt; &quot;A&quot;;
	return_label = &amp;&amp;ret_1;
	goto sub_proc;

	ret_1:
	std::cout &lt;&lt; &quot;B&quot;;
	return_label = &amp;&amp;ret_2;
	goto sub_proc;

	ret_2:
	std::cout &lt;&lt; &quot;C&quot;;
}
</code></pre>
<p><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/2511088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511088</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 10 Oct 2016 09:43:34 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 09:50:02 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p>Edit: Da ich aber keine Praxiserfahrung habe, lass ich mich gerne vom Gegenteil überzeugen.</p>
</blockquote>
<p>Ich habe im Praxisumfeld noch nie ein goto gesehen das sinnvoll gewesen wäre und nicht in eine (meist auch noch verständlichere) andere Struktur überführt werden konnte. Eher im Gegenteil: Die gotos die ich zu Gesicht bekommen habe, hatten in der Regel schwerwiegende Seiteneffekte, waren schwer wartbar. Im schlimmsten Fall übelster Spagetthicode in Reinkultur den keiner mehr verstanden hat.</p>
<p>Es ist egal ob eine Hochsprache in Maschinencode überführt wird oder nicht - Maschinencode ist für den Rechner, nicht den Programmierer. Und wie heißt der Spruch so schön &quot;Man liest Sourcecode häufiger, als das man ihn ändert&quot;. Lieber eine saubere Struktur die in sprechende Funktionen untergliedert ist, als Code der für den Computer, nicht aber den Leser geeignet ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511090</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 10 Oct 2016 09:50:02 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 09:54:53 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Saubere, fehlerrobuste Programmierung.</p>
</blockquote>
<p>naja wenn man unbedingt goto verwenden will (langeweile, aufgabenstellung, unnötig kompliziertes programm, k.a.), ist das doch in ordnung, oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511092</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 10 Oct 2016 09:54:53 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 09:56:28 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Belli schrieb:</p>
<blockquote>
<p>Es ist aber gewünscht, unterprogramm von verschiedenen Stellen aus anzuspringen, und dann jeweiles zur 'richtigen' Absprungstelle zurückzukehren.</p>
</blockquote>
<p>Er meint, dass du vor dem Sprung eine globale Variable setzen sollst, die dann das Rücksprungziel anzeigt. Du weißt schon: Saubere, fehlerrobuste Programmierung.<br />
Mindestens der GCC hat aber eine Spracherweiterung dafür:</p>
<pre><code>#include &lt;iostream&gt;

int main() 
{
	void *return_label = nullptr;
	goto main;

	sub_proc:
	std::cout &lt;&lt; &quot;Sub&quot;;
	goto *return_label;
	
	main:
	std::cout &lt;&lt; &quot;A&quot;;
	return_label = &amp;&amp;ret_1;
	goto sub_proc;

	ret_1:
	std::cout &lt;&lt; &quot;B&quot;;
	return_label = &amp;&amp;ret_2;
	goto sub_proc;
	
	ret_2:
	std::cout &lt;&lt; &quot;C&quot;;
}
</code></pre>
<p><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>
</blockquote>
<p>Ach sooo ... ja dann, sieht echt übersichtlich aus <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/2511093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511093</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Mon, 10 Oct 2016 09:56:28 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 10:00:20 GMT]]></title><description><![CDATA[<p>HansKlaus schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Saubere, fehlerrobuste Programmierung.</p>
</blockquote>
<p>naja wenn man unbedingt goto verwenden will (langeweile, aufgabenstellung, unnötig kompliziertes programm, k.a.), ist das doch in ordnung, oder nicht?</p>
</blockquote>
<p>Ja. Und wenn jemand den Nagel mit der Zange in die Wand hauen möchte, dann kann man ihm auch zeigen, wie man das am besten macht; oder man könnte ihm sagen, dass es vielleicht keine so gute Idee ist. Welches ist davon der bessere Ratschlag?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511096</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 10 Oct 2016 10:00:20 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 10:07:15 GMT]]></title><description><![CDATA[<p>bill gates konnte soweit ich weiß mal nachweisen, dass ihm andere leute seine quellcodes geklaut haben, weil er der einzige war, der den code erklären konnte. <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>
<p>edit:</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Ja. Und wenn jemand den Nagel mit der Zange in die Wand hauen möchte, dann kann man ihm auch zeigen, wie man das am besten macht; oder man könnte ihm sagen, dass es vielleicht keine so gute Idee ist. Welches ist davon der bessere Ratschlag?</p>
</blockquote>
<p>ich würde vorher nachfragen, ob wirklich unbedingt eine zange verwendet werden soll und dann nicht bevormundend sein wollen, völlig egal wie albern das erst einmal sein mag.<br />
es ist meistens stressfreier, wenn sich die leute sowas selbst ausprobieren. <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/2511098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511098</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 10 Oct 2016 10:07:15 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 10:12:53 GMT]]></title><description><![CDATA[<p>HansKlaus schrieb:</p>
<blockquote>
<p>naja wenn man unbedingt goto verwenden will (langeweile, aufgabenstellung, unnötig kompliziertes programm, k.a.), ist das doch in ordnung, oder nicht?</p>
</blockquote>
<p>Ich habe noch keinen Praxisfall erlebt, bei dem ein goto nicht zu genau dem geführt hat, was du als Gegenbeispiel aufgeführt hast: &quot;unnötig kompliziertes programm&quot;.</p>
<p>Und aus Langeweile meidet man kein goto, sondern aus guten Gründen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511100</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 10 Oct 2016 10:12:53 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 10:39:51 GMT]]></title><description><![CDATA[<p>Ja klar, aber wenn jemand unbedingt goto benutzen will und sich nicht durch gutes Zureden davon abbringen lässt.....</p>
<p>Ich meinte übrigens aus Langeweile goto benutzen, nicht vermeiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511103</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 10 Oct 2016 10:39:51 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 10:49:41 GMT]]></title><description><![CDATA[<p>Dann würde ich ihm trotzdem nicht empfehlen, mit globalen Zustandsvariablen noch eine zweite Packung Spaghetti in den Code zu werfen.</p>
<p>Alle &quot;berechtigten&quot; Benutzungen von goto, die in diesem Thread gezeigt wurden, sind aus gutem Grund solche, bei denen nur ein einziges Label und nur ein einziger, kurzer Sprung vorkommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511105</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 10 Oct 2016 10:49:41 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Goto - Von Sprungmarke &amp;quot;zurückkehren&amp;quot;? on Mon, 10 Oct 2016 11:41:57 GMT]]></title><description><![CDATA[<p>Wie würde man es denn sonst machen, wenn es unbedingt goto sein soll und man die Sprungmarken nicht dynamisch festlegen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511111</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 10 Oct 2016 11:41:57 GMT</pubDate></item></channel></rss>