<?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[Char Arrays]]></title><description><![CDATA[<p>Hey Leute <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="🙂"
    /><br />
ich habe mal (wieder) eine Frage:</p>
<pre><code>const char ∗ str1 = &quot;Guten Morgen!\n&quot;;
</code></pre>
<p>Ich verstehe diese Zeile nicht ganz. Warum steht dort const wenn ich den Text in str1 verändern kann</p>
<pre><code>const char *str1 = &quot;Guten Morgen!\n&quot;;
    str1 = &quot;Ich kann es veraendern..&quot;;
    const char *str2=str1;
</code></pre>
<p>Ich bitte um Hilfe...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/323435/char-arrays</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 02:43:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/323435.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Jan 2014 19:20:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Char Arrays on Wed, 29 Jan 2014 19:20:46 GMT]]></title><description><![CDATA[<p>Hey Leute <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="🙂"
    /><br />
ich habe mal (wieder) eine Frage:</p>
<pre><code>const char ∗ str1 = &quot;Guten Morgen!\n&quot;;
</code></pre>
<p>Ich verstehe diese Zeile nicht ganz. Warum steht dort const wenn ich den Text in str1 verändern kann</p>
<pre><code>const char *str1 = &quot;Guten Morgen!\n&quot;;
    str1 = &quot;Ich kann es veraendern..&quot;;
    const char *str2=str1;
</code></pre>
<p>Ich bitte um Hilfe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380495</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Wed, 29 Jan 2014 19:20:46 GMT</pubDate></item><item><title><![CDATA[Reply to Char Arrays on Wed, 29 Jan 2014 19:26:51 GMT]]></title><description><![CDATA[<p>Bei Zeigern kann der Zeiger konstant sein, oder du darfst den Pointee nicht verändern, oder beides.</p>
<p>Hier ist das Zweite der Fall: Du darfst das, auf das der Zeiger zeigt, nicht verändern (das resultiert in undefiniertem Verhalten) - auf was der Zeiger zeigt, das kannst du jedoch verändern. Es hängt davon ab, wo das <code>const</code> bei der Deklaration steht.</p>
<pre><code>char const* // Pointee ist unveränderbar
char* const // Zeiger ist unveränderbar
char const* const // Beides

// Du liest von Rechts nach Links: Zeiger auf konstantes char, konstanter Zeiger auf char, konstanter Zeiger auf konstantes char
</code></pre>
<p>In deinem Code-Beispiel weist du dem Zeiger, nicht aber dem Pointee etwas zu. Alles nicht erlaubte resultiert selbstverständlich in Gemecker vom Compiler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380496</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Wed, 29 Jan 2014 19:26:51 GMT</pubDate></item><item><title><![CDATA[Reply to Char Arrays on Wed, 29 Jan 2014 19:25:23 GMT]]></title><description><![CDATA[<p>Du hast den Text nicht geändert. Der Zeiger zeigt einfach auf ein anderes Literal, das alte gibt es an der alten Adresse immer noch unverändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380497</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 29 Jan 2014 19:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to Char Arrays on Wed, 29 Jan 2014 20:02:23 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<pre><code>char const* // Pointee ist unveränderbar
char* const // Zeiger ist unveränderbar
char const* const // Beides

// Du liest von Rechts nach Links: Zeiger auf konstantes char, konstanter Zeiger auf char, konstanter Zeiger auf konstantes char
</code></pre>
</blockquote>
<p>Okey danke das hilft mir schon sehr viel weiter <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="😃"
    /><br />
Aber das &quot;const&quot; bedeutet immernoch das dies eine Konstante ist, und nicht verändert werden kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380505</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Wed, 29 Jan 2014 20:02:23 GMT</pubDate></item><item><title><![CDATA[Reply to Char Arrays on Wed, 29 Jan 2014 20:05:37 GMT]]></title><description><![CDATA[<p>Skeptar schrieb:</p>
<blockquote>
<p>Aber das &quot;const&quot; bedeutet immernoch das dies eine Konstante ist, und nicht verändert werden kann?</p>
</blockquote>
<p>Kommt auf &quot;dies&quot; an. Was unveränderbar ist, hat Arcoth ja geschrieben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380506</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 29 Jan 2014 20:05:37 GMT</pubDate></item><item><title><![CDATA[Reply to Char Arrays on Wed, 29 Jan 2014 20:06:26 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Skeptar schrieb:</p>
<blockquote>
<p>Aber das &quot;const&quot; bedeutet immernoch das dies eine Konstante ist, und nicht verändert werden kann?</p>
</blockquote>
<p>Kommt auf &quot;dies&quot; an. Was unveränderbar ist, hat Arcoth ja geschrieben...</p>
</blockquote>
<p>Ups :|</p>
<p>Aber danke <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/2380507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380507</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Wed, 29 Jan 2014 20:06:26 GMT</pubDate></item><item><title><![CDATA[Reply to Char Arrays on Fri, 31 Jan 2014 12:07:03 GMT]]></title><description><![CDATA[<p>Ich hätte da nochmal zwei Frage.<br />
1. Was bedeuten eig. zwei</p>
<pre><code>**
</code></pre>
<p>?<br />
Z.B. in diesem Beispiel:</p>
<pre><code>int **pp = new int*[4]; // Array von Zeigern auf int-Zahlen
pp[0] = p; // pp[0] zeigt auf *p
pp[1] = &amp;pa[2]; // pp[1] zeigt auf pa[2] (s.o.)
cout &lt;&lt; *pp[0] &lt;&lt; endl; // 15
cout &lt;&lt; **pp &lt;&lt; endl; // 15
cout &lt;&lt; *pp[1] &lt;&lt; endl; // 45
</code></pre>
<p>2. Ist das richtig das ich das Thema mit den Zeigern noch nicht so richtig verstehen? (Bin seit 3 Tagen dabei)</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380780</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Fri, 31 Jan 2014 12:07:03 GMT</pubDate></item><item><title><![CDATA[Reply to Char Arrays on Fri, 31 Jan 2014 12:12:29 GMT]]></title><description><![CDATA[<p>Skeptar schrieb:</p>
<blockquote>
<p>Ich hätte da nochmal zwei Frage.<br />
1. Was bedeuten eig. zwei</p>
<pre><code>**
</code></pre>
<p>?<br />
Z.B. in diesem Beispiel:</p>
<pre><code>int **pp = new int*[4]; // Array von Zeigern auf int-Zahlen
pp[0] = p; // pp[0] zeigt auf *p
pp[1] = &amp;pa[2]; // pp[1] zeigt auf pa[2] (s.o.)
cout &lt;&lt; *pp[0] &lt;&lt; endl; // 15
cout &lt;&lt; **pp &lt;&lt; endl; // 15
cout &lt;&lt; *pp[1] &lt;&lt; endl; // 45
</code></pre>
</blockquote>
<p>bei einer instanzendefinition ist das ein zeiger auf einen zeiger. bei der dereferenzierung ist das einfach die dereferenzierung des resultats einer dereferenzierung. frei übersetzt bedeutet das einfach dass der programmierer keine ahnung von c++ hat.</p>
<p>Skeptar schrieb:</p>
<blockquote>
<p>2. Ist das richtig das ich das Thema mit den Zeigern noch nicht so richtig verstehen? (Bin seit 3 Tagen dabei)</p>
</blockquote>
<p>kommt auf die definition von &quot;richtig&quot; an. in c++ braucht man selten zeiger. und manuelle speicherverwaltung braucht man so ziemlich gar nie.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380781</guid><dc:creator><![CDATA[Fytch]]></dc:creator><pubDate>Fri, 31 Jan 2014 12:12:29 GMT</pubDate></item><item><title><![CDATA[Reply to Char Arrays on Fri, 31 Jan 2014 12:41:25 GMT]]></title><description><![CDATA[<p>asfdlol schrieb:</p>
<blockquote>
<p>frei übersetzt bedeutet das einfach dass der programmierer keine ahnung von c++ hat.</p>
</blockquote>
<p>Super Satz <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>Danke für die schnelle Antwort</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380792</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Fri, 31 Jan 2014 12:41:25 GMT</pubDate></item><item><title><![CDATA[Reply to Char Arrays on Fri, 31 Jan 2014 13:10:51 GMT]]></title><description><![CDATA[<p>Der Begriff Drei-Sterne-Programmierer ist in modernem C++ keine Auszeichnung, sondern eher eine Beleidigung. Nah, vllt nicht ganz, aber es ist auf jeden Fall kein Lob mehr.</p>
<p>Der einzige Grund heute noch mit Zeigern rumzumachen ist, wenn man eine alte C-Bibliothek benutzt (oder Kompatiblität halten will). Aber auch dann kann man STL-Container nutzen und über entsprechende Funktionen auf die Interna zugreifen (Bsp: Std::string::c_str). Manuelle Speicherverwaltung braucht man sowas von selten...</p>
<p>Vielleicht im Embedded Bereich(ok, geht halt oft nicht anders) oder wenn man einen Custom-Allocator schreibt(aber wer macht das schon?!).<br />
Aber dann sollte man wissen, was man macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380800</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 31 Jan 2014 13:10:51 GMT</pubDate></item></channel></rss>