<?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[Zeiger und Referenzen]]></title><description><![CDATA[<p>Hallo, ich bin mit meinem Buch zum erlerenen von C++ jetzt mit dem Thema &quot;Zeiger und Referenzen&quot; beinahe durch. Hab auch einige Übungsaufgaben gemacht und diese auch meistens korrekt,aber irgendwie weiss ich nicht ob ich dieses Thema so richtig verstanden habe. Alle Aufgaben hätte man auch ohne Zeiger oder Referenzen einfacher lösen können. Klar ist mir das ein Programm mit Zeigern weniger Speicherplatz benötigt. Ist dies wirklich der hauptsächliche Grund warum man sie verwendet oder gibts da noch Andere wichtige. Könnt ihr mir bitte an ganz einfachen Beispielen einige Gründe zum Verwenden von Zeigern geben.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/276608/zeiger-und-referenzen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 04:55:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276608.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Nov 2010 15:37:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger und Referenzen on Fri, 05 Nov 2010 15:37:49 GMT]]></title><description><![CDATA[<p>Hallo, ich bin mit meinem Buch zum erlerenen von C++ jetzt mit dem Thema &quot;Zeiger und Referenzen&quot; beinahe durch. Hab auch einige Übungsaufgaben gemacht und diese auch meistens korrekt,aber irgendwie weiss ich nicht ob ich dieses Thema so richtig verstanden habe. Alle Aufgaben hätte man auch ohne Zeiger oder Referenzen einfacher lösen können. Klar ist mir das ein Programm mit Zeigern weniger Speicherplatz benötigt. Ist dies wirklich der hauptsächliche Grund warum man sie verwendet oder gibts da noch Andere wichtige. Könnt ihr mir bitte an ganz einfachen Beispielen einige Gründe zum Verwenden von Zeigern geben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1975558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1975558</guid><dc:creator><![CDATA[stinker06]]></dc:creator><pubDate>Fri, 05 Nov 2010 15:37:49 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Fri, 05 Nov 2010 15:42:12 GMT]]></title><description><![CDATA[<p>Stichworte:<br />
- Binärbaum<br />
- Linked list<br />
- Polymorphie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1975561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1975561</guid><dc:creator><![CDATA[__Stefan__]]></dc:creator><pubDate>Fri, 05 Nov 2010 15:42:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Fri, 05 Nov 2010 15:52:37 GMT]]></title><description><![CDATA[<p>Darf ich fragen, welches Buch? Eigentlich sind Referenzen ungeheuer praktisch, wenn das nicht richtig rüber kam, ist das Buch vielleicht nicht so gut. Zeiger sind durch Referenzen quasi obsolet, bis auf ein paar Anwendungsgebiete die an dieser Stelle in deinem Buch vermutlich noch nicht drangekommen sind (z.B. Polymorphie). Mit Speicherplatzbedarf hat das alles aber eigentlich gar nichts zu tun, das klingt nach Quatsch.</p>
<p>Referenzen benutzt man normalerweise, wenn Funktionen die Werte die ihnen Übergeben wurden verändern sollen. Normalerweise gibt man Funktionsergebnisse man zwar über den Rückgabewert zurück, aber manchmal ist dies unpraktisch, zum Beispiel wenn man mehrere Rückgabewerte hat:</p>
<pre><code class="language-cpp">void swap(int&amp; i, int&amp; j)
 {
   int tmp = i;
   i = j;
   j = tmp;
 }
</code></pre>
<p>Weiterhin gibt es auch die Möglichkeit, Referenzen als Rückgabewert zu benutzen. Dann kann man nämlich hinterher dem Funktionsergebnis etwas zuweisen. Normalerweise macht man dies bei Zugriffsoperatoren von Klassen die irgendwelche Daten halten um Zugriff auf diese Daten zu gestatten. Ein einfaches Beispiel kann ich jetzt leider nicht dafür geben, aber denk dir mal wie der Operator[] von Klassen wie std::vector wohl implementiert ist. Die geben nämlich eine Referenz auf das gewünschte Objekt zurück, damit man schreiben kann <div class="plugin-markdown"><input type="checkbox" id="checkbox45254" checked="true" /><label for="checkbox45254">= y;</label></div> , anstatt etwas wie <code>my_vector.set(x,y);</code></p>
<p>Und dann gibt es auch manchmal noch das Problem, dass man sehr große Objekte an eine Funktion übergeben möchte, dann möchte man sich das fällige Kopieren sparen. In diesem Fall übergibt man das Objekt dann auch per Referenz. Fall man nicht will, dass das Objekt verändert werden darf, per const Referenz.</p>
<pre><code class="language-cpp">void foo(big_object const &amp; bar)
{
 // bar benutzen, bar wurde nicht kopiert, ist aber trotzdem nicht veränderbar.
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1975564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1975564</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 05 Nov 2010 15:52:37 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Sat, 06 Nov 2010 09:34:46 GMT]]></title><description><![CDATA[<p>Es ist das Buch, &quot;Lernen und professionell anwenden&quot; von Ulla Prinz. Ein gutes Buch.<br />
Und zu deiner Aussage &quot;Referenzen benutzt man normalerweise, wenn Funktionen die Werte die ihnen Übergeben wurden verändern sollen&quot;, steht natürlich auch fast genauso drin.<br />
Und die anderen Beispiele die du mir genannt hast, werd ich im weiteren bestimmt auch noch erkennen.</p>
<p>Danke für die Informationen!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1975866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1975866</guid><dc:creator><![CDATA[stinker06]]></dc:creator><pubDate>Sat, 06 Nov 2010 09:34:46 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Sat, 06 Nov 2010 10:06:02 GMT]]></title><description><![CDATA[<p>stinker06 schrieb:</p>
<blockquote>
<p>Es ist das Buch, &quot;Lernen und professionell anwenden&quot; von Ulla Prinz. Ein gutes Buch.<br />
Und zu deiner Aussage &quot;Referenzen benutzt man normalerweise, wenn Funktionen die Werte die ihnen Übergeben wurden verändern sollen&quot;, steht natürlich auch fast genauso drin.<br />
Und die anderen Beispiele die du mir genannt hast, werd ich im weiteren bestimmt auch noch erkennen.</p>
<p>Danke für die Informationen!!</p>
</blockquote>
<p>So gut kann das Buch nicht sein, wenn es nicht in der Lage ist, den simpelsten Anwendungsfall für Zeiger zu zeigen:</p>
<p>Aufgabe: schreibe ein Programm, das eine Datei zeilenweise einliest, die Zeilen sortiert und dann wieder ausgibt.</p>
<p>Wann immer Du Speicher brauchst und Du weißt zum Übersetzungszeitpunkt nicht, wieviel, mußt Du diesen dynamisch anfordern und Du bekommst einen Zeiger darauf zurück.</p>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1975877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1975877</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Sat, 06 Nov 2010 10:06:02 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Sat, 06 Nov 2010 11:24:58 GMT]]></title><description><![CDATA[<p>mgaeckler schrieb:</p>
<blockquote>
<p>So gut kann das Buch nicht sein, wenn es nicht in der Lage ist, den simpelsten Anwendungsfall für Zeiger zu zeigen:</p>
<p>Aufgabe: schreibe ein Programm, das eine Datei zeilenweise einliest, die Zeilen sortiert und dann wieder ausgibt.</p>
<p>Wann immer Du Speicher brauchst und Du weißt zum Übersetzungszeitpunkt nicht, wieviel, mußt Du diesen dynamisch anfordern und Du bekommst einen Zeiger darauf zurück.</p>
</blockquote>
<p>Du denkst C, nicht C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1975931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1975931</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 06 Nov 2010 11:24:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Mon, 08 Nov 2010 11:25:23 GMT]]></title><description><![CDATA[<p>mgaeckler schrieb:</p>
<blockquote>
<p>So gut kann das Buch nicht sein, wenn es nicht in der Lage ist, den simpelsten Anwendungsfall für Zeiger zu zeigen:</p>
<p>Aufgabe: schreibe ein Programm, das eine Datei zeilenweise einliest, die Zeilen sortiert und dann wieder ausgibt.</p>
<p>Wann immer Du Speicher brauchst und Du weißt zum Übersetzungszeitpunkt nicht, wieviel, mußt Du diesen dynamisch anfordern und Du bekommst einen Zeiger darauf zurück.</p>
<p>mfg Martin</p>
</blockquote>
<p>Das kann man ganz ohne Zeiger lösen, indem man std::vector benutzt, std::sort drauf loslässt und den vektor dann wieder ausgibt.<br />
Ein sinnvoller Einsatz für Zeiger ist z.B. die Bereitstellung eines (komplexen) optionalen Parameters in einem Funktionsaufruf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977180</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 08 Nov 2010 11:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Mon, 08 Nov 2010 11:44:47 GMT]]></title><description><![CDATA[<p>mgaeckler schrieb:</p>
<blockquote>
<p>gut in reinem C++ kann man/frau häufig auch auf Zeiger verzichten bzw. diese dann intern von einer Library verwenden lassen. Das kann dann aber unnötiger overkill sein.</p>
</blockquote>
<p>Diese Library wäre dann die Standardbibliothek und es ist ganz bestimmt kein Overkill die Standardsprachmittel zu benutzen. In C schreibst du ja auch nicht Assembler, bloß weil es geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977189</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Nov 2010 11:44:47 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Mon, 08 Nov 2010 19:44:41 GMT]]></title><description><![CDATA[<p>mgaeckler schrieb:</p>
<blockquote>
<p>gut in reinem C++ kann man/frau häufig auch auf Zeiger verzichten bzw. diese dann intern von einer Library verwenden lassen. Das kann dann aber unnötiger overkill sein.</p>
</blockquote>
<p>RAII ist ein etabliertes Konzept in C++. Davon abweichender Mehraufwand wie manuelle Speicherverwaltung muss seine Rechtfertigung haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977507</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 08 Nov 2010 19:44:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Mon, 08 Nov 2010 22:58:09 GMT]]></title><description><![CDATA[<p>mgaeckler schrieb:</p>
<blockquote>
<p>Das hängt meines Erachtens ganz vom Anwendungsfall ab. Die C++ Standardbibliothek hat einen höheren Abstraktionsgrad wie die von C. Das ist immer mit einem höheren Overhead verbunden. Den will man manchmal einfach nicht.</p>
</blockquote>
<p>Falsch.<br />
C versus C++ bitte nicht hier. Kannst die passenden Threads im C-Forum erweitern. Derzeit ist da sogar ein recht großer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977588</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 08 Nov 2010 22:58:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Mon, 08 Nov 2010 23:04:25 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Zeiger sind durch Referenzen quasi obsolet, ...</p>
</blockquote>
<p>Bitte was?<br />
Ich glaub da hat jemand SeppJs-Account gehackt...<br />
Sowas kommt doch sicherlich nicht von einem Moderator...</p>
<p>Ich verändere auch mal gerne Verweise auf Daten, was<br />
ja (ohne Hacks) mit Referenzen nicht möglich ist.</p>
<p>Außerdem kann man Referenzen nicht in (STL-)Containern speichern<br />
und du gehörst ja wohl nicht zu den Leuten, die universell Smart-Pointer verwenden,<br />
oder?</p>
<p>Außerdem möchte man manchmal auch einfach 0 zurückliefern oder übergeben...</p>
<p>Gruß,<br />
XSpille</p>
<p>EDIT: Ich gebe dir jedoch Recht, dass man für Übergabe-Parameter und Rückgabe-<br />
Parameter (wesentlich) häufiger Referenzen verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977589</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Mon, 08 Nov 2010 23:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Tue, 09 Nov 2010 09:33:16 GMT]]></title><description><![CDATA[<p>Irgendwie scheinst du einen völlig anderen Programmierstil als ich zu haben, ich habe jedenfalls nie die Notwendigkeit dafür. Warum sollte ich einen Verweis umhängen wollen? Verlasse den Scope der Referenz und mach eine neue. Warum sollte ich 0 zurückgeben wollen, außer bei extrem low-level Sachen? Warum wollte ich Pointer/Referenzen in Container speichern (außer Polymorphie)? Speicher konkrete Objekte oder Iteratoren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977660</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 09 Nov 2010 09:33:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Tue, 09 Nov 2010 09:59:07 GMT]]></title><description><![CDATA[<blockquote>
<p>(außer Polymorphie)?</p>
</blockquote>
<p>Das ist doch aber schon nen ziemlich wichtiges Thema ?<br />
Denk bei jedem Projekt was ueber mehr als ne handvoll source dateien hinausgeht und mehr als 1 Entwickler beteiligt ist, ist Polymorphie(Interfaces) nen Zentrales Thema!</p>
<p>Also ich verwend scho &quot;viel&quot; Zeiger<br />
Aber meist auch nur in Verbindung mit Interfaces (Protokollklassen) und PIMPL.<br />
bei mir iss ca. jede 4. Klasse ne pure abstract Klasse (Interface).<br />
und ich verwend auch selten new (eigentlich nur bei PIMPL + ObjectFactories).</p>
<p>Meine Meinung:<br />
Wenn wer nen C++ Programm schreibt, ohne obige Themen, also ganz ohne new und Zeiger und und und ... Ist zwar auf der einen Seite Ideal, auf der anderen aber kein typischer C++ Anwendungsfall. Meist hat man eben kein &quot;Hello World&quot; Szenario. In so einem Falle sollt man echt ueberlegen ob c++ ueberhaupt die richtige Sprache fuer das problem waer.</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977672</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Tue, 09 Nov 2010 09:59:07 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Tue, 09 Nov 2010 10:11:04 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Irgendwie scheinst du einen völlig anderen Programmierstil als ich zu haben, ich habe jedenfalls nie die Notwendigkeit dafür.</p>
</blockquote>
<p><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>SeppJ schrieb:</p>
<blockquote>
<p>Warum sollte ich einen Verweis umhängen wollen?</p>
</blockquote>
<p>Bei einer einfachen setter-Funktion mit nicht-POD.</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Verlasse den Scope der Referenz und mach eine neue.</p>
</blockquote>
<p>Als Member-Variable kannst du den Scope nur schwer verlassen <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>SeppJ schrieb:</p>
<blockquote>
<p>Warum sollte ich 0 zurückgeben wollen, außer bei extrem low-level Sachen?</p>
</blockquote>
<p>Abstrakt ausgedrückt: Bei optionalen Attributen für ein Objekt.</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Warum wollte ich Pointer/Referenzen in Container speichern (außer Polymorphie)? Speicher konkrete Objekte oder Iteratoren.</p>
</blockquote>
<p>Zur Vermeidung unnötiger Kopien (Komplexität der Objekte).<br />
Nicht jeder Objekt-Typ muss einen Copy-Constructor haben.</p>
<p>Gruß,<br />
XSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977676</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Tue, 09 Nov 2010 10:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Tue, 09 Nov 2010 10:37:38 GMT]]></title><description><![CDATA[<p>XSpille schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Warum sollte ich einen Verweis umhängen wollen?</p>
</blockquote>
<p>Bei einer einfachen setter-Funktion mit nicht-POD.</p>
</blockquote>
<p>Was hat dies bitte mit POD oder nicht POD zu tun?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a>,<br />
Mich stört an deiner Aussage irgendwie das Wort &quot;obsolet&quot;. Das ist in meinen Augen etwas übertrieben. Referenzen übernehmen sicher einen grossen Bereich, wo man in C Zeiger einsetzt, aber alles können sie nicht schlucken und deshalb sind Zeiger nicht obsolet.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977695</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 09 Nov 2010 10:37:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Tue, 09 Nov 2010 11:05:09 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>XSpille schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Warum sollte ich einen Verweis umhängen wollen?</p>
</blockquote>
<p>Bei einer einfachen setter-Funktion mit nicht-POD.</p>
</blockquote>
<p>Was hat dies bitte mit POD oder nicht POD zu tun?</p>
</blockquote>
<p>Ich meinte &quot;Einfach-zu-kopierendes-Objekt&quot;...<br />
Keine tiefen Strukturen...</p>
<p>Die Aussage war allerdings irreführend und falsch, gebe ich dir Recht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977707</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Tue, 09 Nov 2010 11:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Tue, 09 Nov 2010 18:21:52 GMT]]></title><description><![CDATA[<p>Wie sieht so ein Setter konkret bei dir aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977999</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Tue, 09 Nov 2010 18:21:52 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Referenzen on Tue, 09 Nov 2010 19:21:35 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Warum sollte ich einen Verweis umhängen wollen?</p>
</blockquote>
<p>Fällt dir da wirklich nichts ein? <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="😕"
    /><br />
Wenn du zum Beispiel eine Klasse hast, die gewisse Daten nicht selbst besitzt, sondern extern referenziert, ist es oft sehr hilfreich, den Verweis ändern zu können.</p>
<pre><code class="language-cpp">Ship::SetTarget(Ship&amp; target);
</code></pre>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Verlasse den Scope der Referenz und mach eine neue.</p>
</blockquote>
<p>Wie ist das zu verstehen, bzw. wie führt das am Zeiger-Umhängen vorbei? Man kann den Scope meist nicht einfach so verlassen.</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Warum sollte ich 0 zurückgeben wollen, außer bei extrem low-level Sachen?</p>
</blockquote>
<p>Um einen Nicht-Vorhanden/Nicht-Gültig-Status kennzuzeichnen. Zum Beispiel für eine Suchfunktion. Oder für</p>
<pre><code class="language-cpp">Ship* Ship::GetTarget() const; // NULL wenn kein Ziel anvisiert
</code></pre>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Warum wollte ich Pointer/Referenzen in Container speichern (außer Polymorphie)?</p>
</blockquote>
<p>Observer Pattern ist so ein Anwendungsfall. Es kann auch sein, dass nur Objekte gleichen Typs benachrichtigt werden, dann ist keine Polymorphie nötig.</p>
<p>Ich bin auch der Meinung, du bist zu stark abgeneigt gegenüber Zeigern. Ich würde mich ohne sie ziemlich eingeschränkt fühlen. Smart muss nur sein, was besitzend ist. Referenzen können zu wenig, um den Zeigern in den übrig gebliebenen Fällen das Wasser zu reichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1978051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978051</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 09 Nov 2010 19:21:35 GMT</pubDate></item></channel></rss>