<?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[Definition: Zeiger &amp;amp; Referenzen]]></title><description><![CDATA[<p>Hey ihr,</p>
<p>Da diese Frage oft gestellt und selten verstanden wird habe ich mich dazuentschlossen mal alle Unterschiede zwischen Zeigern und Referenzen, die mir so einfallen hier aufzuschreiben.</p>
<p>Ich würde euch bitten mich zu ergänzen oder zu verbessern, falls ich Fehler mache.<br />
Eventuell hätten wir dann am Ende dieses Threads eine gültige Definition.<br />
Ich habe diese nämlich im Netz erst sehr zerhackt und immer nur Krümelweise gefunden.</p>
<p>Referenzen:</p>
<p>Definition: Eine Referenz ist ein Synonym oder Alias für eine andere Variable an die sie gebunden ist.<br />
Eine Referenz muss direkt bei der Declaration definiert werden, was bedeutet, dass sie während ihrer Lebenszeit IMMER auf ein Objekt und immer auf das selbe Objekt verweist.<br />
Eine Referenz verweist also immer auf das selbe Objekt.<br />
Über den Adressoperator '&amp;' kann auf die Speicherstelle zugegriffen werden.<br />
Sonst kann die Referenz rein syntaktisch genau, wie die Variable verwendet werden auf welche sie verweist.</p>
<p>Referenzen sind hilfreich, wenn es beispielsweise darum geht private Objekte an eine private zu übergeben.<br />
Es wird immer dann eine Referenz übergeben, wenn ihre Quellvariable sich ändern soll und keine Kopie ihrer Quellvariable geändert werden soll.</p>
<p>Referenzen sind also Synonyme auf Variablen.<br />
Wird die Variable zerstört auf die die Referenz verweist, ist die Referenz ab diesem Zeitpunkt ungültig.</p>
<p>Zeiger:</p>
<p>Zeiger sind Variablen, welche als Wert die Speicheradresse zu einem anderen Objekt besitzen. Dieser Wert kann sich während ihrer Lebenszeit auch ändern. Das bedeutet, dass es kein Problem ist mit Zeigern auch arithmetische Operationen durchzuführen.<br />
Das kann sehr nützlich sein, wenn es beispielsweise um die Adressierung von Arrays geht.<br />
Zeiger werden mit Hilfe des Diferenzierungsoperators '<em>' definiert.<br />
Werden sie erstellt, so muss jedoch der Datentyp auf den sie zeigen festgelegt werden.<br />
Ein Zeiger kann also nicht am Programmanfang auf einen Integer Zeigen und im späteren Verlauf auf einen Double.<br />
Zeiger sind, weil sich mit ihnen vielfältigere Sachen tuen lassen aber auch schwerer zu programmieren und es muss auf Fehleranfälligkeit des Programmes geachtet werden, da es passieren kann, dass ein Zeiger auf eine Stelle im Arbeitsspeicher zeigt, welche vom Betriebssystem für einen Anderen Prozess vorgesehen war. In einem solchen Fall kommt es meistens zu einem Programmabsturz.<br />
Zeiger können jedoch mit dem Deferenzierungsoperator '</em>', ebenfalls wie Referenzen als Synonyme für bestimmte Objekte benutzt werden.<br />
Auch bei ihnen ist es möglich lokale Variablen in einer fremden Funktion zu verändern, solange der Zeiger an diese übergeben wird.<br />
Zeiger überleben zudem die Zerstörung von Objekten, auf welche sie zeigen.<br />
Wird mit der delete-Anweisung ein Objekt zerstört auf welches ein Zeiger zeigt, so kann mit diesem Zeiger immer noch auf das Objekt zugegriffen werden.<br />
Es kann also sein, dass sogar noch nach dem delete-Aufruf der Speicher an der gegebenen Stelle immernoch den vorherigen Wert hat.<br />
Zudem sollte beachtet werden, dass es bei der Zeigerprogrammierung so genannten 'Nullpointer' gibt, welche auf die Speicheradresse 'NULL' zeigen. Das zeigt anderen Programmierern, welche den Quelltext verstehen wollen, dass dieser Zeiger momentan keine Verwendung findet.</p>
<p>Zeiger und Referenzen können zwar teilweise für gleiche Dinge benutzt werden, eignen sich jedochim Endeffekt für grundverschiedene Sachen gut oder schlecht.</p>
<p>Ich wäre froh über ein Feedback <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>cya<br />
David</p>
<p>PS:</p>
<p><strong>DIESER BEITRAG IST KOMPLETT ÜBERARBEITET.</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198510/definition-zeiger-amp-referenzen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 16:01:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198510.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Nov 2007 10:09:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Mon, 26 Nov 2007 08:04:26 GMT]]></title><description><![CDATA[<p>Hey ihr,</p>
<p>Da diese Frage oft gestellt und selten verstanden wird habe ich mich dazuentschlossen mal alle Unterschiede zwischen Zeigern und Referenzen, die mir so einfallen hier aufzuschreiben.</p>
<p>Ich würde euch bitten mich zu ergänzen oder zu verbessern, falls ich Fehler mache.<br />
Eventuell hätten wir dann am Ende dieses Threads eine gültige Definition.<br />
Ich habe diese nämlich im Netz erst sehr zerhackt und immer nur Krümelweise gefunden.</p>
<p>Referenzen:</p>
<p>Definition: Eine Referenz ist ein Synonym oder Alias für eine andere Variable an die sie gebunden ist.<br />
Eine Referenz muss direkt bei der Declaration definiert werden, was bedeutet, dass sie während ihrer Lebenszeit IMMER auf ein Objekt und immer auf das selbe Objekt verweist.<br />
Eine Referenz verweist also immer auf das selbe Objekt.<br />
Über den Adressoperator '&amp;' kann auf die Speicherstelle zugegriffen werden.<br />
Sonst kann die Referenz rein syntaktisch genau, wie die Variable verwendet werden auf welche sie verweist.</p>
<p>Referenzen sind hilfreich, wenn es beispielsweise darum geht private Objekte an eine private zu übergeben.<br />
Es wird immer dann eine Referenz übergeben, wenn ihre Quellvariable sich ändern soll und keine Kopie ihrer Quellvariable geändert werden soll.</p>
<p>Referenzen sind also Synonyme auf Variablen.<br />
Wird die Variable zerstört auf die die Referenz verweist, ist die Referenz ab diesem Zeitpunkt ungültig.</p>
<p>Zeiger:</p>
<p>Zeiger sind Variablen, welche als Wert die Speicheradresse zu einem anderen Objekt besitzen. Dieser Wert kann sich während ihrer Lebenszeit auch ändern. Das bedeutet, dass es kein Problem ist mit Zeigern auch arithmetische Operationen durchzuführen.<br />
Das kann sehr nützlich sein, wenn es beispielsweise um die Adressierung von Arrays geht.<br />
Zeiger werden mit Hilfe des Diferenzierungsoperators '<em>' definiert.<br />
Werden sie erstellt, so muss jedoch der Datentyp auf den sie zeigen festgelegt werden.<br />
Ein Zeiger kann also nicht am Programmanfang auf einen Integer Zeigen und im späteren Verlauf auf einen Double.<br />
Zeiger sind, weil sich mit ihnen vielfältigere Sachen tuen lassen aber auch schwerer zu programmieren und es muss auf Fehleranfälligkeit des Programmes geachtet werden, da es passieren kann, dass ein Zeiger auf eine Stelle im Arbeitsspeicher zeigt, welche vom Betriebssystem für einen Anderen Prozess vorgesehen war. In einem solchen Fall kommt es meistens zu einem Programmabsturz.<br />
Zeiger können jedoch mit dem Deferenzierungsoperator '</em>', ebenfalls wie Referenzen als Synonyme für bestimmte Objekte benutzt werden.<br />
Auch bei ihnen ist es möglich lokale Variablen in einer fremden Funktion zu verändern, solange der Zeiger an diese übergeben wird.<br />
Zeiger überleben zudem die Zerstörung von Objekten, auf welche sie zeigen.<br />
Wird mit der delete-Anweisung ein Objekt zerstört auf welches ein Zeiger zeigt, so kann mit diesem Zeiger immer noch auf das Objekt zugegriffen werden.<br />
Es kann also sein, dass sogar noch nach dem delete-Aufruf der Speicher an der gegebenen Stelle immernoch den vorherigen Wert hat.<br />
Zudem sollte beachtet werden, dass es bei der Zeigerprogrammierung so genannten 'Nullpointer' gibt, welche auf die Speicheradresse 'NULL' zeigen. Das zeigt anderen Programmierern, welche den Quelltext verstehen wollen, dass dieser Zeiger momentan keine Verwendung findet.</p>
<p>Zeiger und Referenzen können zwar teilweise für gleiche Dinge benutzt werden, eignen sich jedochim Endeffekt für grundverschiedene Sachen gut oder schlecht.</p>
<p>Ich wäre froh über ein Feedback <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>cya<br />
David</p>
<p>PS:</p>
<p><strong>DIESER BEITRAG IST KOMPLETT ÜBERARBEITET.</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1407989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1407989</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Mon, 26 Nov 2007 08:04:26 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 10:19:48 GMT]]></title><description><![CDATA[<p>Erstmal: Gut gemacht <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>
<p>Deferenzierungsoperator und Diferenzierungsoperator würde ich in Dereferenzierungsoperator ändern <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>Und vielleicht könntest du noch dazunehmen, dass man Zeiger auch auf die Adresse 0 zeigen lassen kann, da das die gängige Praxis ist um anzudeuten, dass der Zeiger gerade auf kein gültiges Objekt zeigt <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/1408001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408001</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 22 Nov 2007 10:19:48 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 10:41:54 GMT]]></title><description><![CDATA[<p>Schon passiert <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1408022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408022</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Thu, 22 Nov 2007 10:41:54 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 10:43:08 GMT]]></title><description><![CDATA[<p>Schon passiert <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 />
Würde eigentlich folgender Satz stimmen?:</p>
<p><em><strong>Überall wo eine Referenz verwendet werden kann, nehme eine Referenz, denn diese sind wesentlich ungefährlicher als Zeiger.</strong></em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408024</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Thu, 22 Nov 2007 10:43:08 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 11:49:11 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>finde Dein Anliegen und den Inhalt auch gut. Ein kleiner Hinweis:</p>
<p>777 schrieb:</p>
<blockquote>
<p>...Eine Referenz ist eine eigenständige Variable, ...</p>
</blockquote>
<p>Das würde ich anders formulieren. Mit &quot;Variable&quot; assoziiere ich (und da bin ich vielleicht auch nicht der Einzige) adressierbare Objekte ... und das sind Referenzen nunmal nicht.<br />
Schon eher kann man Referenzen als &quot;Aliasse&quot; bezeichnen und ihre Namen als &quot;Bezeichner&quot;.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408072</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 22 Nov 2007 11:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 11:58:12 GMT]]></title><description><![CDATA[<p>Jap.<br />
Im Prinzip hast du da sogar recht... ich änder das mal noch x.x.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408079</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Thu, 22 Nov 2007 11:58:12 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 14:31:38 GMT]]></title><description><![CDATA[<p>Hi 777,<br />
schoen dass sich mal jemand die Muehe macht <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="😉"
    /> Einige Anmerkugnen:</p>
<p>777 schrieb:</p>
<blockquote>
<p>Wird die Variable zerstört auf die die Referenz verweist, wird auch die Referenz zerstört.</p>
</blockquote>
<p>&quot;...wird die Referenz ungueltig. Ein Zugriff auf eine ungueltige Referenz erzeug undefiniertes Verhalten&quot; - so wuerde ichs sagen <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>
<blockquote>
<p>Über den Adressoperator '&amp;' kann auf die Speicherstelle zugegriffen werden.</p>
</blockquote>
<p>hat eben nichts mit der Referenz zu tun. Oder moechtest du damit ausdruecken, dass der Adressoperator, angewendet auf eine Referenz, wie alle anderen Operatoren und Funktionen auf das referenzierte Objekt wirkt und daher dessen Adresse zurueckgibt?</p>
<blockquote>
<p>Zeiger werden mit Hilfe des Diferenzierungsoperators '*' definiert.</p>
</blockquote>
<p>Bei der Deklaration von Zeigern ist der '*' eben kein Dereferenzierungsoperator, genauso wenig wie das &amp; bei der Referenzendeklaration etwas mit dem Adressoperator oder dem bitand-operator zu tun hat <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="😉"
    /> Der Asterisk ist in dem Fall teil des Typs.</p>
<blockquote>
<p>Wird mit der delete-Anweisung ein Objekt zerstört auf welches ein Zeiger zeigt, so kann mit diesem Zeiger immer noch auf das Objekt zugegriffen werden.</p>
</blockquote>
<p>Das Objekt wird zerstoert und der Speicher freigegeben. Der Zugriff auf Speicher, der nicht (mehr) dem Prozess gehoert, erzeugt meist einen Absturz. Wird das Objekt zerstoert, ohne dass der Speicher freigegeben wird, (Aufruf des Destruktors: ptr-&gt;~Object()), so gehoert der Speicher zwar noch dem Prozess, aber der Versuch, diesen Speicher als Existierendes Objekt zu behandeln erzeugt undefiniertes Verhalten (das gilt soweit ich weiss auch fuer Aufrufe von delete)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408200</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 22 Nov 2007 14:31:38 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 14:32:49 GMT]]></title><description><![CDATA[<p>777 schrieb:</p>
<blockquote>
<p>Referenzen:</p>
<p>Definition: Eine Referenz ist ein Synonym oder Alias für eine andere Variable an das sie gebunden ist.</p>
</blockquote>
<p>&quot;an *die* sie gebunden ist&quot;.</p>
<blockquote>
<p>Sie belegt also bei ihrer Declaration nicht sehr viel Speicherplatz.</p>
</blockquote>
<p>Deklaration. Wieviel ist &quot;nicht sehr viel&quot;?</p>
<p>777 schrieb:</p>
<blockquote>
<p>Eine Referenz muss direkt bei der initialisierung definiert werden, was bedeutet, dass sie während ihrer Lebenszeit IMMER auf ein Objekt und immer auf das selbe Objekt verweist.</p>
</blockquote>
<p>Initialisierung.<br />
Eine Initialisierung ist immer eine Definition, deshalb ist der Satz ungünstig. Eher:<br />
&quot;Eine Referenz muss immer initialisiert werden, was bedeutet, dass sie an ein Objekt gebunden wird. Diese Bindung kann nachträglich nicht mehr verändert werden.&quot;</p>
<blockquote>
<p>Eine Referenz verweist also immer auf die selbe Stelle im Speicher.<br />
Über den Adressoperator '&amp;' kann auf die Speicherstelle zugegriffen werden.<br />
Sonst kann die Referenz rein syntaktisch genau, wie die Variable verwendet werden auf welche sie verweist.</p>
</blockquote>
<p>Ebenenwechsel. Ich würde statt Speicherstelle lieber Variable verwenden.<br />
Also:<br />
Eine Referenz verweist also immer auf die selbe Variable.<br />
Über den Adressoperator '&amp;' kann auf die Speicherstelle dieser Variable zugegriffen werden...</p>
<blockquote>
<p>Referenzen sind hilfreich, wenn es beispielsweise darum geht Werte an eine private Funktion zu übergeben.</p>
</blockquote>
<p>Wenn es darum geht *Werte* zu übergeben, verwendet man eigentlich gerade keine Referenzen.</p>
<blockquote>
<p>Es wird immer dann eine Referenz übergeben, wenn ihre Schwestervariable sich ändern soll und keine Kopie ihrer Schwestervariable geändert werden soll.</p>
</blockquote>
<p>Schwestervariable?</p>
<blockquote>
<p>Wird die Variable zerstört auf die die Referenz verweist, wird auch die Referenz zerstört.</p>
</blockquote>
<p>Nope. Die Lebenszeit einer Variable ist i.A. unabhängig von ihren Referenzen. Wenn eine Variable stirbt, es aber noch Referenzen auf diese Variable gibt, so sind diese Referenzen ungültig (dangling reference).</p>
<blockquote>
<p>Zeiger:</p>
<p>Zeiger sind direkte Adressen, welche an bestimmte Speicherbereiche gebunden sind. Dieser Speicherbereich kann sich während ihrer Lebenszeit auch ändern. Das bedeutet, dass es kein Problem ist mit Zeigern auch arithmetische Operationen durchzuführen.</p>
</blockquote>
<p>Das ist imo sehr verwirrend. Zeiger sind vorallem erst mal Variablen und besitzen demzufolge eine (unveränderliche) Speicheradresse. Sie verweisen auf andere Variablen (Speicheradressen) und dieser Verweis kann verändert werden. Soweit hat das aber noch nichts mit Pointerarithmetik zu tun.</p>
<blockquote>
<p>Ein Zeiger kann also nicht am Programmanfang auf einen integer Zeigen und im späteren Verlauf auf einen Double.</p>
</blockquote>
<p>&quot;auf einen Integer zeigen&quot;.</p>
<blockquote>
<p>Zeiger sind, weil sich mit ihnen vielfältigere Sachen tuen lassen aber auch schwerer zu programmieren und es muss auf Fehleranfälligkeit des Programmes geachtet werden, da es passieren kann, dass ein Zeiger auf eine Stelle im Arbeitsspeicher zeigt, welche vom Betriebssystem für einen Anderen Prozess vorgesehen war.</p>
</blockquote>
<p>Zeiger sind, ..., aber...<br />
für einen anderen Prozess...<br />
Ich würde den kompletten Satz streichen, da er nicht wirklich etwas mit der Definition von Zeigern zu tun hat.</p>
<blockquote>
<p>In einem solchen Fall kommt es meistens zu einem absoluten Programmabsturz.</p>
</blockquote>
<p>Gibt es auch relative Programmabstürze?</p>
<blockquote>
<p>Zeiger überleben zudem die Zerstörung von Objekten, auf welche sie zeigen.<br />
Wird mit der delete-Anweisung ein Objekt zerstört auf welches ein Zeiger zeigt, so kann mit diesem Zeiger immer noch auf das Objekt zugegriffen werden.</p>
</blockquote>
<p>Nope. Der Zugriff auf eine nicht mehr existierende Variable über einen Zeiger ist Leichenflädderei und damit überall dort, wo der C++ Standard gilt, illegal.</p>
<blockquote>
<p><em>Da Zeiger nicht immer auf ein Objekt zeigen müssen wird im Programmierergenrè der Zeiger nachdem er nicht mehr benutzt wird, dem Programmmierer jedoch bewusst ist, dass der Zeiger im späteren Programmverlauf noch einmal an Bedeutung gewinnt auf die Adresse 0 gesetzt.<br />
Das Zeigt Beispielsweise andereren Programmierern, welche den Quelltext verstehen wollen, dass dieser Zeiger im Moment keine Verwendung findet. (Edit)</em></p>
</blockquote>
<p>Würde ich komplett streichen und durch einen einfachen Hinweis auf die Existenz<br />
des Nullpointers ersetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408202</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Thu, 22 Nov 2007 14:32:49 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 14:40:11 GMT]]></title><description><![CDATA[<p>777 schrieb:</p>
<blockquote>
<p>Über den Adressoperator '&amp;' kann auf die Speicherstelle zugegriffen werden.</p>
</blockquote>
<p>Ist vielleicht etwas unglücklich ausgedrückt, da man mit dem Adressoperator ja die Adresse der Variable bzw. die Speicherstelle erhält.</p>
<blockquote>
<p>Wird die Variable zerstört auf die die Referenz verweist, wird auch die Referenz zerstört.</p>
</blockquote>
<p>Eigentlich müssten Referenzen sich hier wie Zeiger verhalten, daher kann man auch nach einem delete versuchen, auf die Speicherstelle mit Hilfe der Referenz zuzugreifen, was u.U. eine Zugriffsverletzung zur Folge hat.</p>
<blockquote>
<p>Zeiger werden mit Hilfe des Diferenzierungsoperators '*' definiert.</p>
</blockquote>
<p>Redet man in diesem Zusammenhang auch von einem Dereferenzierungsoperator oder überhaupt von einem Operator? Bin mir hier nicht ganz sicher.</p>
<blockquote>
<p>welche vom Betriebssystem für einen Anderen Prozess vorgesehen war.</p>
</blockquote>
<p>Aber nur wenn es keinen virtuellen Speicher gibt.</p>
<blockquote>
<p>Wird mit der delete-Anweisung ein Objekt zerstört auf welches ein Zeiger zeigt, so kann mit diesem Zeiger immer noch auf das Objekt zugegriffen werden.</p>
</blockquote>
<p>Oder eben auch nicht, falls die entsprechende Seite im Speicher dabei freigegeben wurde.</p>
<blockquote>
<p><em>Da Zeiger nicht immer auf ein Objekt zeigen müssen wird im Programmierergenrè der Zeiger nachdem er nicht mehr benutzt wird, dem Programmmierer jedoch bewusst ist, dass der Zeiger im späteren Programmverlauf noch einmal an Bedeutung gewinnt auf die Adresse 0 gesetzt.<br />
Das Zeigt Beispielsweise andereren Programmierern, welche den Quelltext verstehen wollen, dass dieser Zeiger im Moment keine Verwendung findet. (Edit)</em></p>
</blockquote>
<p>Hier würde ich noch ergänzen, dass die Dereferenzierung eines Nullzeigers zuverlässig zu einer Zugriffsverletzung führt, was die Fehlersuche stark erleichtert, wenn der Programmablauf mal eine Route einschlägt, mit der man nicht gerechnet hat.</p>
<p>Edit: hab ich scheinbar etwas zu spät gepostet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408209</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Thu, 22 Nov 2007 14:40:11 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 14:39:11 GMT]]></title><description><![CDATA[<p>HumeSikkins schrieb:</p>
<blockquote>
<blockquote>
<p>In einem solchen Fall kommt es meistens zu einem absoluten Programmabsturz.</p>
</blockquote>
<p>Gibt es auch relative Programmabstürze?</p>
</blockquote>
<p>Windows: Absolute Programmabstürze<br />
Linux: Relative Programmabstürze</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408211</guid><dc:creator><![CDATA[asdasd]]></dc:creator><pubDate>Thu, 22 Nov 2007 14:39:11 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 14:39:30 GMT]]></title><description><![CDATA[<p>HumeSikkins schrieb:</p>
<blockquote>
<p>Leichenflädderei</p>
</blockquote>
<p>Leichenfledderei, wenn wir schon bei der Rechtschreibung angelangt sind *scnr* <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/1408212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408212</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 22 Nov 2007 14:39:30 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Thu, 22 Nov 2007 15:11:13 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>HumeSikkins schrieb:</p>
<blockquote>
<p>Leichenflädderei</p>
</blockquote>
<p>Leichenfledderei, wenn wir schon bei der Rechtschreibung angelangt sind *scnr* <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>
</blockquote>
<p>Oha. Danke für den Hinweis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408241</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Thu, 22 Nov 2007 15:11:13 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Fri, 23 Nov 2007 10:01:37 GMT]]></title><description><![CDATA[<p>Oha... ich werd meinen Artikel wohl nochmal überarbeiten müssen... werd das bei Zeiten hier dann das Ergebnis posten.</p>
<p>cya<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408673</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Fri, 23 Nov 2007 10:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Fri, 23 Nov 2007 10:05:20 GMT]]></title><description><![CDATA[<p>Randfrage: Soll das ein Artikel für unser Magazin werden? Wenn ja, melde dich mal bitte bei estartu, damit sie dich in die Redaktion aufnehmen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408675</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 23 Nov 2007 10:05:20 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Fri, 23 Nov 2007 10:22:34 GMT]]></title><description><![CDATA[<p>Kann das nicht einfach in die FAQ? Für einen Magazin-Artikel würden ja noch Anwendungsbeispiele usw fehlen. Nicht falsch verstehen, ich find's wirklich _super_, dass 777 das angegangen ist, weil dieses Thema vielen schwerfällt, aber in der FAQ müsste es doch perfekt aufgehoben sein..?<br />
Eventuell könnte man auch den Link auf <a href="http://video.google.de/videoplay?docid=-1542035773918006287&amp;q=pointer+duration%3Ashort+genre%3ASCI_TECH&amp;total=184&amp;start=0&amp;num=100&amp;so=0&amp;type=search&amp;plindex=0" rel="nofollow">Binky</a> mit dazunehmen? <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/1408693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408693</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 23 Nov 2007 10:22:34 GMT</pubDate></item><item><title><![CDATA[Reply to Definition: Zeiger &amp;amp; Referenzen on Mon, 26 Nov 2007 08:09:06 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>Ich hab den Artikel jetzt nochmal nach euren Kriterien bearbeitet.<br />
Wenn ihr meint, dass es wichtig ist sowas in die FAQ dazuzunehmen kann ich das gut verstehen, weil ich den Unterschied zwischen Zeigern und Referenzen selbst etwas schwammig gefunden habe und in keinem Forum eine genaue Definition lag.<br />
Beispiele sollten ja nicht soo das große Problem sein <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1410168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1410168</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Mon, 26 Nov 2007 08:09:06 GMT</pubDate></item></channel></rss>