<?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[Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgenden code:</p>
<pre><code class="language-cpp">int feld[3] = {1,4,6};
int *pFeld =  new int[3]; //1
pFeld = feld; //1
int *p = feld; //2
</code></pre>
<p>Macht es einen unterschied ob ich Variante 1 oder Variante 2 verwende? Konnte beim Zugriff auf das Array feld keinen erkennen. Nur sizeof auf die Pointer liefert bei 1: 64 und bei 2: 4.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205126/pointer-mit-new-typ-3-initialiseren-was-bringts</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 22:04:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205126.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 Feb 2008 21:19:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts? on Sun, 10 Feb 2008 21:19:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgenden code:</p>
<pre><code class="language-cpp">int feld[3] = {1,4,6};
int *pFeld =  new int[3]; //1
pFeld = feld; //1
int *p = feld; //2
</code></pre>
<p>Macht es einen unterschied ob ich Variante 1 oder Variante 2 verwende? Konnte beim Zugriff auf das Array feld keinen erkennen. Nur sizeof auf die Pointer liefert bei 1: 64 und bei 2: 4.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453351</guid><dc:creator><![CDATA[maho15]]></dc:creator><pubDate>Sun, 10 Feb 2008 21:19:26 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts? on Sun, 10 Feb 2008 21:29:20 GMT]]></title><description><![CDATA[<p>Die Benutzung ist nicht anderst. Allerdings muss du dran denken dein Array, dass du per new geholt hast auch wieder richtig freizugeben.</p>
<p>Also per delete[]..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453358</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 10 Feb 2008 21:29:20 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts? on Sun, 10 Feb 2008 21:34:01 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Die Benutzung ist nicht anderst. Allerdings muss du dran denken dein Array, dass du per new geholt hast auch wieder richtig freizugeben.</p>
<p>Also per delete[]..</p>
</blockquote>
<p>ok danke. Das heißt man sollte immer Variante 2 verwenden, da die kürzer ist?<br />
Ich habe halt nicht verstanden warum es überhaupt möglich ist einen Pointer als Array zu initialisieren wenn er schlussendlich sowieso nur an eine Adresse zeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453363</guid><dc:creator><![CDATA[maho15]]></dc:creator><pubDate>Sun, 10 Feb 2008 21:34:01 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts? on Sun, 10 Feb 2008 21:36:50 GMT]]></title><description><![CDATA[<p>maho15 schrieb:</p>
<blockquote>
<p>ok danke. Das heißt man sollte immer Variante 2 verwenden, da die kürzer ist?</p>
</blockquote>
<p>Pauschalaussagen sind immer falsch!</p>
<p>maho15 schrieb:</p>
<blockquote>
<p>Nur sizeof auf die Pointer liefert bei 1: 64 und bei 2: 4.</p>
</blockquote>
<p>Glaub' ich Dir nicht. Zeig den Code dazu.</p>
<p>greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453364</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sun, 10 Feb 2008 21:36:50 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts? on Sun, 10 Feb 2008 21:41:29 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>maho15 schrieb:</p>
<blockquote>
<p>ok danke. Das heißt man sollte immer Variante 2 verwenden, da die kürzer ist?</p>
</blockquote>
<p>Pauschalaussagen sind immer falsch!</p>
<p>maho15 schrieb:</p>
<blockquote>
<p>Nur sizeof auf die Pointer liefert bei 1: 64 und bei 2: 4.</p>
</blockquote>
<p>Glaub' ich Dir nicht. Zeig den Code dazu.</p>
<p>greetz, Swordfish</p>
</blockquote>
<pre><code class="language-cpp">int feld[3] = {1,4,6};
int *pFeld =  new int[3];
pFeld = feld; 
int *p = feld;
std::cout &lt;&lt; sizeof(pFeld) &lt;&lt; '\n';	//Output: 64 
std::cout &lt;&lt; sizeof(p) &lt;&lt; '\n';	//Output: 4
</code></pre>
<p>Wenn meine Pauschalaussage falsch ist, wo steckt dann der Unterschied?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453366</guid><dc:creator><![CDATA[maho15]]></dc:creator><pubDate>Sun, 10 Feb 2008 21:41:29 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts? on Sun, 10 Feb 2008 21:44:00 GMT]]></title><description><![CDATA[<p>Es kommt hald darauf an, was du machen willst.</p>
<p>Du solltest dir im klaren sein, was die Nutzung von new/delete für einen Sinn hat.</p>
<p>Mit new kannst du Speicher beanspruchen, welcher solange gültig ist, bis du ihn freigibst. Das heisst, du kannst ihn in einer Funktion anfordern.<br />
Im Gegensatz dazu brauchst du die &quot;kürzere&quot; Version für einen beschränkten Gültigkeitsbereich.</p>
<p>EDIT:</p>
<p>Also ich bekomme 2 mal 4...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453367</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 10 Feb 2008 21:44:00 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts? on Sun, 10 Feb 2008 21:49:55 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Es kommt hald darauf an, was du machen willst.</p>
<p>Du solltest dir im klaren sein, was die Nutzung von new/delete für einen Sinn hat.</p>
<p>Mit new kannst du Speicher beanspruchen, welcher solange gültig ist, bis du ihn freigibst. Das heisst, du kannst ihn in einer Funktion anfordern.<br />
Im Gegensatz dazu brauchst du die &quot;kürzere&quot; Version für einen beschränkten Gültigkeitsbereich.</p>
<p>EDIT:</p>
<p>Also ich bekomme 2 mal 4...</p>
</blockquote>
<p>Zuersteinmal nochmal klarstellung: es kommt beidesmal 4 bei sizeof raus. hatte einen anderen output dazwischen.</p>
<p>Ok, das mit new hab ich verstanden. Aber welchen Vorteil bringt mir das beim Pointer? Der Platzbedarf ist ja immer nur die Adresse.</p>
<p>Ob ich nun<br />
int *pFeld = new int[1];<br />
sage oder<br />
int *pFeld = new int[99];</p>
<p>bringt ja keinen Vorteil/Unterschied oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453371</guid><dc:creator><![CDATA[maho15]]></dc:creator><pubDate>Sun, 10 Feb 2008 21:49:55 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts? on Sun, 10 Feb 2008 21:57:03 GMT]]></title><description><![CDATA[<p>maho15 schrieb:</p>
<blockquote>
<p>[cpp]int feld[3] = {1,4,6};<br />
int *pFeld = new int[3];<br />
pFeld = feld;<br />
int *p = feld;<br />
std::cout &lt;&lt; sizeof(pFeld) &lt;&lt; '\n'; //Output: 64<br />
std::cout &lt;&lt; sizeof(p) &lt;&lt; '\n'; //Output: 4</p>
</blockquote>
<p>[/quote]<br />
Dir ist schon klar, dass das nicht sein kann? <code>typeof( pFeld ) == typeof( p ) == int*</code> und ein Zeiger ist auf 32-bittern 4 Byte breit. 64 Byte sind's nur in äußerst, äußerst, unwahrscheinlich, außergewöhnlichen seltenen Fällen (fast schon nie...) <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>greetz, Swordfish</p>
<p>aja, zu deinem Dilemma: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <a href="http://www.galileocomputing.de/openbook/c_von_a_bis_z/c_016_000.htm" rel="nofollow">Dynamische Speicherverwaltung</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453375</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sun, 10 Feb 2008 21:57:03 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer mit &#x27;= new typ[3]&#x27; initialiseren. Was bringts? on Sun, 10 Feb 2008 21:59:48 GMT]]></title><description><![CDATA[<p>ok, danke.<br />
Hab's kapiert hatte ein Denkfehler und dachte, dass ich über ein Pointer über new Speicherplatz reserviere, diesen selbst nicht als Array verwenden könnte sondern nur mit einem anderen Array zusammen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453377</guid><dc:creator><![CDATA[maho15]]></dc:creator><pubDate>Sun, 10 Feb 2008 21:59:48 GMT</pubDate></item></channel></rss>