<?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 zu new und delete]]></title><description><![CDATA[<p>nabend allerseits <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>
<pre><code class="language-cpp">char *bla=new char;
    bla=&quot;asdfgh&quot;;
    cout&lt;&lt;bla&lt;&lt;endl;
    bla=&quot;asdf&quot;;
    cout&lt;&lt;bla&lt;&lt;endl;
    delete bla;
    cout&lt;&lt;bla;
</code></pre>
<p>also...</p>
<p>1. wieso ist die variable nach dem delete immer noch verfügbar?<br />
2. wieso kann ich die variable als char (und nich als char*) definieren und dann einen string zuweisen?<br />
3. selbst wenn ich die variable als array mit 4 dimensionen definiere kann ich immer noch einen 6-stelligen string zuweisen<br />
4. besitzen mit new erstellte variablen einen scope?</p>
<p>ich weiß sind viele fragen, aber wäre net wenn mir mal einer die komplette funktionsweise hiervon erklärt... <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/topic/168641/fragen-zu-new-und-delete</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 12:53:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168641.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 25 Dec 2006 23:26:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fragen zu new und delete on Mon, 25 Dec 2006 23:26:27 GMT]]></title><description><![CDATA[<p>nabend allerseits <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>
<pre><code class="language-cpp">char *bla=new char;
    bla=&quot;asdfgh&quot;;
    cout&lt;&lt;bla&lt;&lt;endl;
    bla=&quot;asdf&quot;;
    cout&lt;&lt;bla&lt;&lt;endl;
    delete bla;
    cout&lt;&lt;bla;
</code></pre>
<p>also...</p>
<p>1. wieso ist die variable nach dem delete immer noch verfügbar?<br />
2. wieso kann ich die variable als char (und nich als char*) definieren und dann einen string zuweisen?<br />
3. selbst wenn ich die variable als array mit 4 dimensionen definiere kann ich immer noch einen 6-stelligen string zuweisen<br />
4. besitzen mit new erstellte variablen einen scope?</p>
<p>ich weiß sind viele fragen, aber wäre net wenn mir mal einer die komplette funktionsweise hiervon erklärt... <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/1197841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197841</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 25 Dec 2006 23:26:27 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Mon, 25 Dec 2006 23:36:38 GMT]]></title><description><![CDATA[<p>Erstmal enthält dein Code Fehler:</p>
<pre><code class="language-cpp">char* bla = new char[ 6 ];
strcpy( bla, &quot;asdfgh&quot; );
std::cout &lt;&lt; bla &lt;&lt; std::endl;
delete [] bla;
</code></pre>
<p>So reservierst du genug Speicher und nutzt auch tatsächlich den Speicher auf dem Heap.</p>
<p>Zu 1: Du biegst deinen Zeiger nur um. Der String wird nicht in den reservierten Bereich geschrieben.<br />
Wenn du Speicher freigibst und danach auf den Zeiger zugreifst, so ist das Verhalten nicht definiert und kann von Compiler zu Compiler variieren.</p>
<p>Zu 2: Weiß nicht was genau du damit sagen willst<br />
Zu 3: Beispiel?<br />
Zu 4: Ja, sie haben genau die gleichen Gültigkeitsbereiche wie &quot;normale&quot; Variablen, allerdings wird reservierter Speicher nach verlassen des Scopes nicht wieder freigegeben.</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197842</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Mon, 25 Dec 2006 23:36:38 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Mon, 25 Dec 2006 23:41:39 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char* bla = new char[0];
    strcpy( bla, &quot;asdfgh&quot; );
    std::cout &lt;&lt; bla &lt;&lt; std::endl;
    delete[] bla;
</code></pre>
<p>das geht wieso?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197843</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 25 Dec 2006 23:41:39 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Mon, 25 Dec 2006 23:51:01 GMT]]></title><description><![CDATA[<p>neomic schrieb:</p>
<blockquote>
<p>das geht wieso?</p>
</blockquote>
<p>Weil das C++ ist <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="😉"
    /> und durch solche Sachen Software abstürzt...</p>
<p>Deswegen immer sauber programmieren:</p>
<pre><code class="language-cpp">const int BB = 4;

char *text = new char[BB];
strncpy(text,&quot;dfdgfhi&quot;,BB);
delete [] text;
</code></pre>
<p>natürlich ist std::string besser ...</p>
<p>Das ganze mit den Zeigern und den nicht-überprüfungen ist zwar sch**ße, aber C++ bietet dir eben viel Freiheit und man muss diese Freiheit richtig nutzen und ist somit schneller als mit manch anderen Sprachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197848</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 25 Dec 2006 23:51:01 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 00:03:53 GMT]]></title><description><![CDATA[<p>hmmm naja gut überzeugt^^<br />
also wenn ich das richtig verstanden habe überschreibt der dann quasi den speicher ohne rücksicht auf andere sachen...</p>
<p>gleich nochmal ne frage...</p>
<p>wie kann strncat() einen pointer auf den endstring geben? wie geht das? normalerweise verschwinden doch die in der funktion erstelleten variablen im nächsten scope oder gibst da nen trick bei?</p>
<p>@Freak_Coder lass mal die zensur ;), jeder darf sich hier frei äußern <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/1197851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197851</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 26 Dec 2006 00:03:53 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 00:22:57 GMT]]></title><description><![CDATA[<p>oder auch</p>
<pre><code class="language-cpp">template&lt;typename T, size_t N&gt;
T* copy_array(const T (&amp;a)[N])
{
    T* p = new T[ N ];
    memcpy( p, a, sizeof a );
}

// ...
char *text = copy_array( &quot;dfdgfhi&quot; );
// ...
delete [] text;
</code></pre>
<p>schließlich kennt der Compiler die Größe von Stringliteralen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197856</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 26 Dec 2006 00:22:57 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 00:30:45 GMT]]></title><description><![CDATA[<p>Freak_Coder schrieb:</p>
<blockquote>
<pre><code class="language-cpp">const int BB = 4;

char *text = new char[BB];
strncpy(text,&quot;dfdgfhi&quot;,BB);
delete [] text;
</code></pre>
</blockquote>
<p>nur mal so als Anmerkung:</p>
<p>1. strncpy ist eine scheiß Funktion, die man nicht benutzen will<br />
2. int benutzt man nicht für Größenangaben. Dafür gibt es size_t</p>
<p>neomic schrieb:</p>
<blockquote>
<p>wie kann strncat() einen pointer auf den endstring geben? wie geht das? normalerweise verschwinden doch die in der funktion erstelleten variablen im nächsten scope oder gibst da nen trick bei?</p>
</blockquote>
<p>wovon sprichst du bitte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197859</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Tue, 26 Dec 2006 00:30:45 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 00:41:34 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>wovon sprichst du bitte?</p>
</blockquote>
<p>sry meinte auch strcat()</p>
<pre><code class="language-cpp">char bla[]=&quot;asdf&quot;;
    cout&lt;&lt;strncat(bla,&quot;qwer&quot;);
</code></pre>
<p>ausgabe: asdfqwer</p>
<p>edit: ach lol hab gerade selber noch herausgefunden das der pointer auf das neue &quot;bla&quot; zeigt, sry^^ war ne *kategorieblödefragen* frage -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197862</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 26 Dec 2006 00:41:34 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 00:42:26 GMT]]></title><description><![CDATA[<p>neomic schrieb:</p>
<blockquote>
<p>ausgabe: asdfqwer</p>
</blockquote>
<p>format C:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197864</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 26 Dec 2006 00:42:26 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 00:43:21 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>neomic schrieb:</p>
<blockquote>
<p>ausgabe: asdfqwer</p>
</blockquote>
<p>format C:</p>
</blockquote>
<p>und was willst du mir damit mitteilen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197865</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 26 Dec 2006 00:43:21 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 01:00:55 GMT]]></title><description><![CDATA[<p>neomic schrieb:</p>
<blockquote>
<p>edit: ach lol hab gerade selber noch herausgefunden das der pointer auf das neue &quot;bla&quot; zeigt, sry^^ war ne *kategorieblödefragen* frage -.-</p>
</blockquote>
<p>&quot;neue &quot;bla&quot;&quot;? Äh, ich glaube du hast Pointer noch nicht so ganz verstanden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1197874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197874</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Tue, 26 Dec 2006 01:00:55 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 03:37:28 GMT]]></title><description><![CDATA[<p>Doch!</p>
<p>Aber nur wenn ich nüchtern bin <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/1197884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1197884</guid><dc:creator><![CDATA[neomic (off)]]></dc:creator><pubDate>Tue, 26 Dec 2006 03:37:28 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 18:29:15 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>&quot;neue &quot;bla&quot;&quot;? Äh, ich glaube du hast Pointer noch nicht so ganz verstanden</p>
</blockquote>
<p>ja bin grad seid 7 tagen dran c++ zu lernen also lass mich fehler machen...</p>
<p>neomic (off) schrieb:</p>
<blockquote>
<p>Doch!</p>
<p>Aber nur wenn ich nüchtern bin <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>fängt man jetzt schon an mich nachzumachen oder was wird das hier?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198142</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 26 Dec 2006 18:29:15 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Tue, 26 Dec 2006 19:09:56 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>1. strncpy ist eine scheiß Funktion, die man nicht benutzen will</p>
</blockquote>
<p>Hmmm, wieso, weshalb warum <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="😃"
    /> ... Was benutzt man denn, wenn man mit c-array arbeitet ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198174</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 26 Dec 2006 19:09:56 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Wed, 27 Dec 2006 16:45:04 GMT]]></title><description><![CDATA[<p>neomic schrieb:</p>
<blockquote>
<p>und was willst du mir damit mitteilen?</p>
</blockquote>
<p>Dein Code erzeugt undefiniertes Verhalten. Und das bedeutet, dass alles passieren kann. Wenn du Pech hast, wird dein System dadurch so sehr kompromittiert, dass dir nichts anderes übrig bleibt als zu formatieren. :xmas2:</p>
<p>Freak_Coder schrieb:</p>
<blockquote>
<p>Hmmm, wieso, weshalb warum <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="😃"
    /> ... Was benutzt man denn, wenn man mit c-array arbeitet ???</p>
</blockquote>
<p>Eingebaute Arrays kann man immer noch mit Schleifen bzw. mem... bearbeiten. C-Strings sollte man in C++ generell nicht verwenden. Falls man einen solchen für eine Schnittstelle braucht (zB WinAPI), gibt es immer noch Wege, Arrays als solche bereitzustellen. Siehe std::string::c_str().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198590</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Wed, 27 Dec 2006 16:45:04 GMT</pubDate></item><item><title><![CDATA[Reply to fragen zu new und delete on Wed, 27 Dec 2006 16:50:52 GMT]]></title><description><![CDATA[<p>groovemaster schrieb:</p>
<blockquote>
<p>Eingebaute Arrays kann man immer noch mit Schleifen bzw. mem... bearbeiten. C-Strings sollte man in C++ generell nicht verwenden. Falls man einen solchen für eine Schnittstelle braucht (zB WinAPI), gibt es immer noch Wege, Arrays als solche bereitzustellen. Siehe std::string::c_str().</p>
</blockquote>
<p>Ja, ich weiß das es natürlich bessere Alternativen gibt, als C-Strings.<br />
Mich hatte nur interessiert wieso strncpy &quot;scheiße (&lt;-rüdiger)&quot; ist, außer das man besser std::string benutzen sollte ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198595</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 27 Dec 2006 16:50:52 GMT</pubDate></item></channel></rss>