<?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[fragen zum zeiger]]></title><description><![CDATA[<p>Servus, lese mir gerade einen Artikel zum Zeiger durch.</p>
<p>Dort wurde mir soweit erklärt, dass man Zeiger fast immer durch den Referenzoperator ersetzen kann bis auf bei einem Fall:</p>
<p>- Wenn man zur Laufzeit nicht weiß, wieviel Speicherplatz man reservieren muss.</p>
<p>Beim Array kann ich es noch nachvollziehen, weil man da oft nicht weiß wieviele Elemente man anlegen möchte.</p>
<p>Aber da sind auch Beispiele wie:</p>
<pre><code class="language-cpp">int *i = new int; 
*i = 169; 
delete i;
</code></pre>
<p>aufgetaucht.<br />
Das verstehe ich nicht. Int kann doch sowieso nur 4 Byte groß sein (max)? Da macht es doch kein Sinn via &quot;new&quot; ein Speicher&quot;bereich&quot; zu reservieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267485/fragen-zum-zeiger</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 11:53:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267485.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 May 2010 14:15:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fragen zum zeiger on Tue, 25 May 2010 14:15:57 GMT]]></title><description><![CDATA[<p>Servus, lese mir gerade einen Artikel zum Zeiger durch.</p>
<p>Dort wurde mir soweit erklärt, dass man Zeiger fast immer durch den Referenzoperator ersetzen kann bis auf bei einem Fall:</p>
<p>- Wenn man zur Laufzeit nicht weiß, wieviel Speicherplatz man reservieren muss.</p>
<p>Beim Array kann ich es noch nachvollziehen, weil man da oft nicht weiß wieviele Elemente man anlegen möchte.</p>
<p>Aber da sind auch Beispiele wie:</p>
<pre><code class="language-cpp">int *i = new int; 
*i = 169; 
delete i;
</code></pre>
<p>aufgetaucht.<br />
Das verstehe ich nicht. Int kann doch sowieso nur 4 Byte groß sein (max)? Da macht es doch kein Sinn via &quot;new&quot; ein Speicher&quot;bereich&quot; zu reservieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902315</guid><dc:creator><![CDATA[cometi]]></dc:creator><pubDate>Tue, 25 May 2010 14:15:57 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zum zeiger on Tue, 25 May 2010 14:18:50 GMT]]></title><description><![CDATA[<p>Das hast du richtig erkannt, das Beispiel ist eher ein Gegenbeispiel was man nicht tun sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902316</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 25 May 2010 14:18:50 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zum zeiger on Tue, 25 May 2010 14:22:29 GMT]]></title><description><![CDATA[<p>D.h. Speicherplatz via &quot;new&quot; zu reservieren macht nur beim Arrays Sinn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902318</guid><dc:creator><![CDATA[cometi]]></dc:creator><pubDate>Tue, 25 May 2010 14:22:29 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zum zeiger on Tue, 25 May 2010 14:32:18 GMT]]></title><description><![CDATA[<p>cometi schrieb:</p>
<blockquote>
<p>D.h. Speicherplatz via &quot;new&quot; zu reservieren macht nur beim Arrays Sinn?</p>
</blockquote>
<p>Meistens nicht einmal dann. <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>Zum Einen: Manuelle Speicherverwaltung ist derart aufwendig und fehleranfällig (und oft noch langsam dazu), dass man sie nur wählen sollte, wenn es wirklich nicht anders geht. Für seeeehr viel gibt es in C++ bereits Sprachelemente (std::string, std::vector, ....), die es einem ersparen, sich damit rumzuschlagen.</p>
<p>Zum Anderen: &quot;Zeiger != manuelle Speicherverwaltung&quot;<br />
Ja - <em>wenn</em> man manuelle Speicherverwaltung machen will/muss, sind Zeiger oftmals das Mittel der Wahl, um die Objekte anzusprechen. Aber eigentlich sind Zeiger einfach allgemein &quot;Verweise auf Objekte&quot;. Man kann sie in vielen Kontexten prima verwenden, die nichts mit Speicherverwaltung zu tun haben.<br />
Beispiel</p>
<pre><code class="language-cpp">struct A {};
struct B {
   A* meinA;
};

int main() {
   A a1, a2; // 2 As werden erzeugt
   B b; // mein B wird erzeugt
   b.meinA = &amp;a1; // jetzt &quot;kennt&quot; b a1 ...
   b.meinA = &amp;a1; // ... und jetzt &quot;kennt&quot; es a2.
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902329</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 25 May 2010 14:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zum zeiger on Tue, 25 May 2010 14:33:21 GMT]]></title><description><![CDATA[<p>cometi schrieb:</p>
<blockquote>
<p>D.h. Speicherplatz via &quot;new&quot; zu reservieren macht nur beim Arrays Sinn?</p>
</blockquote>
<p>Es macht nur Sinn, wenn es nicht anders geht. Auch ein Array lässt sich ohne new anlegen, wenn die Dimensionen vorher bekannt sind. Sind sie nicht bekannt, so ist ein new erforderlich und du hast keine andere Wahl.</p>
<p>Es gilt aber: Wenn man new vermeiden kann, dann sollte man das auch tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902332</guid><dc:creator><![CDATA[...]]></dc:creator><pubDate>Tue, 25 May 2010 14:33:21 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zum zeiger on Tue, 25 May 2010 15:22:04 GMT]]></title><description><![CDATA[<p>Ein std::vector hat die selbe Performance wie ein per new erzeugtes Array und ist dabei &quot;sicher&quot; <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/1902348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902348</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Tue, 25 May 2010 15:22:04 GMT</pubDate></item></channel></rss>