<?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[Sinn von Referenzen im Vergleich zu Pointern&#x2F;Verbindung Qt]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Ich komme aus dem C Umfeld und befasse mich momentan mit C++ in Verbindung mit Qt. Mir sind aber in C++ diverse Sachen unklar, auf die ich mir eine Antwort erhoffe. Mit Pointern in C kann man ja allerhand Dinge machen (Pointerarithmetik, Rechnen etc), hier sollen ja Referenzen in C++ eine gewisse Sicherheit bringen, nur frage ich mich, warum man immer noch auf so viele Pointer antrifft (vorallem in Qt)</p>
<p>- Heapobjekte werden mit einem Pointer erstellt - warum keine Referenz ? Eine Referenz muss ja bekanntlich immer auf ein Objekt, welches nicht null ist, zeigen, ist dies der Grund ?</p>
<p>- Warum verfügen Listen wie zum Beispiel eine QList über einen Getter, welchen einen Pointer zurückliefert ? Ist dies damals einfach so implementiert worden oder warum verwendet man keine Referenzen ? Ist dies überhaupt möglich, wenn zum Beispiel eine Out of Index Situation auftritt (Referenz muss auf ein existierendes Objekt/Typ zeigen)?</p>
<p>- Machen Pointer in einem Programm noch Sinn, wenn man per Call by Reference Objekte/Typen verwenden kann?</p>
<p>- Kann man Pointer für Arithmetik und Referencen für den Rest als &quot;Gesetzt&quot; gelten lassen?</p>
<p>Wie ihr seht ist mir einfach unklar, warum es IMMER noch Pointer in C++ gibt. In meinem Code mischen sich Pointer und Referenzen und ich bin darüber etwas erstaunt - warum ? Ich denke mir fehlt es einfach noch an Erfahrung, einen etwas tieferen Einblick zu bekommen, wäre aber über eure meinung und Gedanken sehr erfreut.</p>
<p>Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/318323/sinn-von-referenzen-im-vergleich-zu-pointern-verbindung-qt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 10:49:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318323.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Jul 2013 15:55:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sinn von Referenzen im Vergleich zu Pointern&#x2F;Verbindung Qt on Mon, 08 Jul 2013 15:55:12 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Ich komme aus dem C Umfeld und befasse mich momentan mit C++ in Verbindung mit Qt. Mir sind aber in C++ diverse Sachen unklar, auf die ich mir eine Antwort erhoffe. Mit Pointern in C kann man ja allerhand Dinge machen (Pointerarithmetik, Rechnen etc), hier sollen ja Referenzen in C++ eine gewisse Sicherheit bringen, nur frage ich mich, warum man immer noch auf so viele Pointer antrifft (vorallem in Qt)</p>
<p>- Heapobjekte werden mit einem Pointer erstellt - warum keine Referenz ? Eine Referenz muss ja bekanntlich immer auf ein Objekt, welches nicht null ist, zeigen, ist dies der Grund ?</p>
<p>- Warum verfügen Listen wie zum Beispiel eine QList über einen Getter, welchen einen Pointer zurückliefert ? Ist dies damals einfach so implementiert worden oder warum verwendet man keine Referenzen ? Ist dies überhaupt möglich, wenn zum Beispiel eine Out of Index Situation auftritt (Referenz muss auf ein existierendes Objekt/Typ zeigen)?</p>
<p>- Machen Pointer in einem Programm noch Sinn, wenn man per Call by Reference Objekte/Typen verwenden kann?</p>
<p>- Kann man Pointer für Arithmetik und Referencen für den Rest als &quot;Gesetzt&quot; gelten lassen?</p>
<p>Wie ihr seht ist mir einfach unklar, warum es IMMER noch Pointer in C++ gibt. In meinem Code mischen sich Pointer und Referenzen und ich bin darüber etwas erstaunt - warum ? Ich denke mir fehlt es einfach noch an Erfahrung, einen etwas tieferen Einblick zu bekommen, wäre aber über eure meinung und Gedanken sehr erfreut.</p>
<p>Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337480</guid><dc:creator><![CDATA[EinCler]]></dc:creator><pubDate>Mon, 08 Jul 2013 15:55:12 GMT</pubDate></item><item><title><![CDATA[Reply to Sinn von Referenzen im Vergleich zu Pointern&#x2F;Verbindung Qt on Mon, 08 Jul 2013 16:06:41 GMT]]></title><description><![CDATA[<p>wenn du die wahl hast, nimm referenzen.</p>
<p>der wesentliche unterschied zwischen referenzen und pointern ist, dass referenzen auf irgendwas zeigen müssen. pointer können null sein. dementsprechend sollten sie auch verwendet werden. qt habe ich nie benutzt (nutzen die nicht sowieso nur einen bruchteil von c++?), aber möglicherweise ist das der grund, warum an den besagten stellen keine referenzen benutzt werden.</p>
<p>new hat früher null returned, wenn die allokation schiefging. das ging nicht mit referenzen. heute fliegt eine exception.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337486</guid><dc:creator><![CDATA[referent]]></dc:creator><pubDate>Mon, 08 Jul 2013 16:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to Sinn von Referenzen im Vergleich zu Pointern&#x2F;Verbindung Qt on Mon, 08 Jul 2013 16:42:06 GMT]]></title><description><![CDATA[<blockquote>
<p>Wie ihr seht ist mir einfach unklar, warum es IMMER noch Pointer in C++ gibt.</p>
</blockquote>
<p>Wenn eine Referenz auf ein Objekt verweist, dann ist sie quasi das Objekt. D.h. Referenzen koennen nur einmal zugewiesen werden, Pointer haben diese Einschraenkung nicht.</p>
<p>Referenzen sind entbehrlich, Pointer nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337492</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 08 Jul 2013 16:42:06 GMT</pubDate></item><item><title><![CDATA[Reply to Sinn von Referenzen im Vergleich zu Pointern&#x2F;Verbindung Qt on Mon, 08 Jul 2013 16:50:31 GMT]]></title><description><![CDATA[<p>EinCler schrieb:</p>
<blockquote>
<p>Warum verfügen Listen wie zum Beispiel eine QList über einen Getter, welchen einen Pointer zurückliefert ?</p>
</blockquote>
<p>Welchen Getter meinst du? Ich kenne keine Funktion in QList die einen Pointer zurückliefert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337494</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 08 Jul 2013 16:50:31 GMT</pubDate></item><item><title><![CDATA[Reply to Sinn von Referenzen im Vergleich zu Pointern&#x2F;Verbindung Qt on Mon, 08 Jul 2013 18:00:33 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Vielen Dank für eure Antworten</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1387">@Braunstein</a> Klassen wie QList bieten dir ja die Möglichkeit, heapbasierende Objekte zu speichern, zumal Container wie QList intern mit einem Pointer Array realisiert sind.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/21632">@knivil</a> Danke gut zu wissen, denn das wusste ich nicht. Wie ist deine Aussage &quot;Referenzen sind entbehrlich, Pointer nicht&quot; zu deuten ? Im Hinblick auf das Sprachdesign und die Kompatibilität zu C ?</p>
<p>@referent Betreffend Bruchteilnutzung von C++: Ja und nein, sie führen eine Art Spracherweiterung ein, welche durch den moc (Meta Object Compiler) gehandhabt wird. Es geht zum Beispiel um Introspection. Man hätte das ganze auch mit Templates realisieren können, was aber recht viel Aufwand an Compilerkompatibilität stellt.</p>
<p>Sprich man kann sagen, Pointer sind in C++ &quot;implementiert&quot;, um mit C sprachtechnisch kompatibel zu bleiben ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337525</guid><dc:creator><![CDATA[EinCler]]></dc:creator><pubDate>Mon, 08 Jul 2013 18:00:33 GMT</pubDate></item><item><title><![CDATA[Reply to Sinn von Referenzen im Vergleich zu Pointern&#x2F;Verbindung Qt on Mon, 08 Jul 2013 18:16:48 GMT]]></title><description><![CDATA[<blockquote>
<p>Sprich man kann sagen, Pointer sind in C++ &quot;implementiert&quot;, um mit C sprachtechnisch kompatibel zu bleiben ?</p>
</blockquote>
<p>Nein! Pointer sind elementar. Bitte versuche mal eine verkettete Liste in C++ ohne Pointer zu realisieren!</p>
<p>Irgendwie habe ich den Eindruck, dass du Pointer in C++ schon als sinnlos abgeschrieben hast, weil es Referenzen gibt. Dann verzichte in Zukunft einfach ganz auf Pointer! Viel Spass!</p>
<blockquote>
<p>Ist dies damals einfach so implementiert worden</p>
</blockquote>
<p>Ja. Qt ist auch nicht der Weisheits letzter Schluss.</p>
<blockquote>
<p>Ist dies überhaupt möglich, wenn zum Beispiel eine Out of Index Situation auftritt</p>
</blockquote>
<p>Du kannst auch eine Exception werfen.</p>
<blockquote>
<p>In meinem Code mischen sich Pointer und Referenzen und ich bin darüber etwas erstaunt - warum ?</p>
</blockquote>
<p>Weiss ich nicht ... ist dein Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337527</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 08 Jul 2013 18:16:48 GMT</pubDate></item><item><title><![CDATA[Reply to Sinn von Referenzen im Vergleich zu Pointern&#x2F;Verbindung Qt on Tue, 09 Jul 2013 04:18:49 GMT]]></title><description><![CDATA[<p>EinCler schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1387">@Braunstein</a> Klassen wie QList bieten dir ja die Möglichkeit, heapbasierende Objekte zu speichern, zumal Container wie QList intern mit einem Pointer Array realisiert sind.</p>
</blockquote>
<p>Wie soll eine dynamisches Array denn auch sonst realisiert werden. Auch in std::vector oder std::list stecken letztendlich Zeiger.<br />
Was den Getter betrifft, natürlich muss ein Indexoperator (oder at) das Element zurückgeben welches sich dort befindet. Wenn du Pointer speichern willst, dann erwartet man das diese auch wieder rauskommen. Das ist aber keine Besonderheit von QList, auch das hast du in std::vector genau so.<br />
Wenn du auf Pointer ganz verzichten willst dann musst du halt Smartpointer in dein Array packen. Qt hätte hier z. Bsp. QSharedPointer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2337593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2337593</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 09 Jul 2013 04:18:49 GMT</pubDate></item></channel></rss>