<?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[Referenzen auf String Literale und wiedermal char* = ...]]></title><description><![CDATA[<p>Hi,</p>
<p>wie schaffe ich es eine konstante Referenz auf ein String Literal zu binden.</p>
<pre><code class="language-cpp">template&lt;class T&gt;
void fun(const T &amp;ref) { }

fun(&quot;string&quot;);
</code></pre>
<p>Hier ist T vom Typ const char[7]. Doch ohne T, also den Typ selber hinzuschreiben, bekomme ich irgendwie nicht hin. Alle versuche und Kombinationen sind bis jetzt gescheitert ...</p>
<p>Desweiteren:</p>
<pre><code class="language-cpp">char *p = &quot;Hallo&quot;;
</code></pre>
<p>In <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-218128.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-218128.html</a> haben wir gelernt das dies ein &quot;deprecated compatibility feature&quot; ist.</p>
<p>Ich dachte dies wäre nur für die initialisierung gültig, doch auch die Zuweisung funktioniert:</p>
<pre><code class="language-cpp">char *p; 
p = &quot;Hallo&quot;;
</code></pre>
<p>Ist das immer noch&quot;deprecated compatibility feature&quot; ???</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/218396/referenzen-auf-string-literale-und-wiedermal-char</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 10:33:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/218396.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Jul 2008 15:17:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Sun, 20 Jul 2008 15:17:22 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wie schaffe ich es eine konstante Referenz auf ein String Literal zu binden.</p>
<pre><code class="language-cpp">template&lt;class T&gt;
void fun(const T &amp;ref) { }

fun(&quot;string&quot;);
</code></pre>
<p>Hier ist T vom Typ const char[7]. Doch ohne T, also den Typ selber hinzuschreiben, bekomme ich irgendwie nicht hin. Alle versuche und Kombinationen sind bis jetzt gescheitert ...</p>
<p>Desweiteren:</p>
<pre><code class="language-cpp">char *p = &quot;Hallo&quot;;
</code></pre>
<p>In <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-218128.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-218128.html</a> haben wir gelernt das dies ein &quot;deprecated compatibility feature&quot; ist.</p>
<p>Ich dachte dies wäre nur für die initialisierung gültig, doch auch die Zuweisung funktioniert:</p>
<pre><code class="language-cpp">char *p; 
p = &quot;Hallo&quot;;
</code></pre>
<p>Ist das immer noch&quot;deprecated compatibility feature&quot; ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550273</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 20 Jul 2008 15:17:22 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Sun, 20 Jul 2008 16:02:09 GMT]]></title><description><![CDATA[<p>nein, das ist reine eindeutigkeit. wenn du einen string willst, musst das deinem compiler auch sagen:</p>
<pre><code class="language-cpp">fun(std::string(&quot;string&quot;));
</code></pre>
<p>templateparameter kenne keine implizite typumwandlung, was auch reichlich absurd wäre, da templates dazu diene, pro typ etwas zu erzeugen, daher muss man sie explizit ausführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550300</guid><dc:creator><![CDATA[ghorst]]></dc:creator><pubDate>Sun, 20 Jul 2008 16:02:09 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Sun, 20 Jul 2008 16:32:46 GMT]]></title><description><![CDATA[<p>ghorst schrieb:</p>
<blockquote>
<p>nein, das ist reine eindeutigkeit. wenn du einen string willst, musst das deinem compiler auch sagen:</p>
<pre><code class="language-cpp">fun(std::string(&quot;string&quot;));
</code></pre>
<p>templateparameter kenne keine implizite typumwandlung, was auch reichlich absurd wäre, da templates dazu diene, pro typ etwas zu erzeugen, daher muss man sie explizit ausführen.</p>
</blockquote>
<p>Du hast micht falsch verstanden.</p>
<p>Ich will dies erreichen:</p>
<pre><code class="language-cpp">const char* &amp;ref = &quot;Hallo&quot;; // Error
</code></pre>
<p>Dies funktioniert natürlich nicht, da Hallo vom Typ const char[6] ist.<br />
Das hier funktioniert natürlich ( siehe anderen Thread ) :</p>
<pre><code class="language-cpp">char *ref = &quot;Hallo&quot;;
</code></pre>
<p>Dann ändern wir dies mal auf:</p>
<pre><code class="language-cpp">const char &amp;ref[6] = &quot;Hallo&quot;; //Error
</code></pre>
<p>Denn so würde ich versuchen nen Array von Refernzen anzulegen, was verboten ist ( wieso ? ).</p>
<p>Das Template weiß wie die Syntax aussieht, nur ich anscheinend nicht ...</p>
<p>Da man ja konstante Referenzen an Rvalues bin kann, zB const int &amp;ref = 5, wollte ich dies auch mit einem Stringliteral probieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550316</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 20 Jul 2008 16:32:46 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Sun, 20 Jul 2008 16:43:43 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">const char (&amp;ref)[6] = &quot;Hallo&quot;;
</code></pre>
<p>Doch so einfach <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/1550323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550323</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 20 Jul 2008 16:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 11:28:42 GMT]]></title><description><![CDATA[<p>KasF schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char *p = &quot;Hallo&quot;;
</code></pre>
<p>In <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-218128.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-218128.html</a> haben wir gelernt das dies ein &quot;deprecated compatibility feature&quot; ist.</p>
<p>Ich dachte dies wäre nur für die initialisierung gültig, doch auch die Zuweisung funktioniert:</p>
<pre><code class="language-cpp">char *p; 
p = &quot;Hallo&quot;;
</code></pre>
<p>Ist das immer noch &quot;deprecated compatibility feature&quot; ???</p>
</blockquote>
<p>Das erste ist doch noch gesund und funktioniert, das Zweite jedoch ist nicht gültig und wahrscheinlich undefiniert, doch wieso ist es hier erlaubt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551566</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 22 Jul 2008 11:28:42 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 12:01:49 GMT]]></title><description><![CDATA[<p>Ein String-Literal ist zu jeder Zeit in einen char* konvertierbar, ob das jetzt bei der Zuweisung oder Initialisierung ist, ist vollkommen egal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551598</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Tue, 22 Jul 2008 12:01:49 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 12:35:43 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char *p = &quot;Hallo&quot;;
</code></pre>
<p>Hier existiert doch die Speicherstelle, in der &quot;Hallo&quot; steht, solange wie auch p existiert.</p>
<pre><code class="language-cpp">char *p;
p = &quot;Hallo&quot;;
</code></pre>
<p>Hier müsste die Speicherstelle von &quot;Hallo&quot; nach der Anweisung wieder frei sein. Also zeigt p ins Nirvana.<br />
Ich hätte eher gedacht das ein String-Literal (const char[x]) nur bei der Initalisierung in ein char* konvertiert werden darf ( deprecated compatibility feature ).</p>
<p>Das es auch bei der Zuweisung erlaubt ist finde ich merkwürdig, den wie gesagt, ist dies undefiniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551643</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 22 Jul 2008 12:35:43 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 12:39:24 GMT]]></title><description><![CDATA[<p>KasF schrieb:</p>
<blockquote>
<p>Hier existiert doch die Speicherstelle, in der &quot;Hallo&quot; steht, solange wie auch p existiert.</p>
</blockquote>
<p>Seit wann haben Literale Referenzzählung oder Pointer einen Mechanismus dafür? <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>
<p>Das Literal existiert während der gesamten Programmlaufzeit, die Adresse davon solange, bis Du sie verlierst.</p>
<p>EDIT:<br />
Zur Klärung: Das Literal &quot;Hallo&quot; wird vom Compiler &quot;irgendwo&quot; hingeschoben und die Adresse von &quot;irgendwo&quot; an der Stelle des Literals eingesetzt. Wieso sollte das Ergebnis dessen (oder gar die Lebensdauer vom Literal) bei einer Initialisierung anders sein als bei einer Zuweisung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551648</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 22 Jul 2008 12:39:24 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 12:43:01 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Seit wann haben Literale Referenzzählung oder Pointer einen Mechanismus dafür? <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>
</blockquote>
<p>Temporäre Objekte existieren auch, solange der Ausdruck nicht abgearbeitet ist, zB bei der Übergabe eines temp-Objektes an eine Funktion, aber brauche ich dir ja nicht alles zu erklären <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>
<p>Ich werd noch wahnsinnig, diese Literal-Geschichte macht mich noch ganz vErÜcKT.<br />
Ich glaube ich lasse das dann mal und nehme einige Sachen mal erstmals so hin ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551652</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 22 Jul 2008 12:43:01 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 12:56:01 GMT]]></title><description><![CDATA[<p>Temporäre Objekte werden aber an Referenzen gebunden - hier hast Du eine einfache Wertzuweisung einer Adresse an einen Zeiger - sprich der Wert des Zeigers wird kopiert.</p>
<p>Wichtig ist eigentlich nur, dass Literale in einem Bereich unendlicher Lebensdauer liegen, und dass der Compiler ihr Vorkommen durch eine Adresse ersetzt (wobei nicht definiert ist, ob Literale identischen Inhalts auch identische Adressen haben müssen). Damit ist folgendes technisch identisch:</p>
<pre><code class="language-cpp">char* x = 0x123456;
x = 0x654321;

int y = 12;
y = 24;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1551667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551667</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 22 Jul 2008 12:56:01 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 13:19:55 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Wichtig ist eigentlich nur, dass Literale in einem Bereich unendlicher Lebensdauer liegen, und dass der Compiler ihr Vorkommen durch eine Adresse ersetzt (wobei nicht definiert ist, ob Literale identischen Inhalts auch identische Adressen haben müssen).</p>
</blockquote>
<p>Das gilt aber nur für String-Literale, oder? Für andere wird doch keinen Speicher alloziert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551688</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Jul 2008 13:19:55 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 13:21:46 GMT]]></title><description><![CDATA[<p>Ok, danke und was ist hiermit, ist dies wohldefiniert und gültig:</p>
<pre><code class="language-cpp">char *p;
p = &quot;Hallo&quot;;
</code></pre>
<p>Denn normal würde man das hier doch so machen:</p>
<pre><code class="language-cpp">char p[10];
strcpy(p, &quot;Hallo&quot;);

// oder
char *p = new char[10];
strcpy(p, &quot;Hallo&quot;);

delete [] p;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1551692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551692</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 22 Jul 2008 13:21:46 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 13:30:04 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a></p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Das gilt aber nur für String-Literale, oder? Für andere wird doch keinen Speicher alloziert...</p>
</blockquote>
<p>Was für &quot;andere&quot;? Meinst Du Arrays? Sprich:</p>
<pre><code class="language-cpp">char x[] = &quot;Hallo&quot;; // x == Array von 6 Bytes auf Stack mit Inhalt 'H', 'a', ...
char* y = &quot;Hallo&quot;; // y == Zeiger auf Stack mit Inhalt &quot;Adresse von Literal Hallo im Readonly-Speicher&quot;
</code></pre>
<p>Im ersten Fall werden sechs Bytes auf dem Stack benötigt, im zweiten sizeof(void*) auf dem Stack und 6 in dem Bereich, in dem der Compiler Literale ablegt.</p>
<p>@KasF</p>
<p>KasF schrieb:</p>
<blockquote>
<p>Ok, danke und was ist hiermit, ist dies wohldefiniert und gültig:</p>
</blockquote>
<p>Ich glaube, hier ist irgendwo ein Verständnisproblem oder ein kleines Brett vorhanden <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>Hier passiert:</p>
<pre><code>Datenbereich des Programms:
0x01000 H a l l o \0
0x01006 W e l t \0

Funktion des Programms: [Pseudocode]
add ebp, 4 // 4 Byte auf Stack reservieren (hieß mal &quot;p&quot;)
mov [ebp+0], 0x01000 // auf &quot;p&quot; die Adresse von &quot;Hallo&quot; schreiben
....
mov [ebp+0], 0x01006 // auf &quot;p&quot; die Adresse von &quot;Welt&quot; schreiben
</code></pre>
<p>Ich weiss nicht, wie ich sonst darstellen soll, dass es sich bei Literalen um Daten, <strong>die unbegrenzte Lebenszeit während der Programmlaufzeit</strong> haben, handelt, und die Adressen dieser Daten lediglich im Programm &quot;herumgeschubst&quot; werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551700</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 22 Jul 2008 13:30:04 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 15:12:21 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Ich weiss nicht, wie ich sonst darstellen soll, dass es sich bei Literalen um Daten, <strong>die unbegrenzte Lebenszeit während der Programmlaufzeit</strong> haben, handelt, und die Adressen dieser Daten lediglich im Programm &quot;herumgeschubst&quot; werden.</p>
</blockquote>
<p>Hmm... vielleicht so:<br />
Wenn du ein String-Literal benutzt, wird für dich ein globale Konstante angelegt.</p>
<pre><code class="language-cpp">int main()
{
    const char* p = &quot;Hello World!&quot;;
}
</code></pre>
<p>Ist also (in etwa) identisch zu:</p>
<pre><code class="language-cpp">const char Literal_Hello_World[] = &quot;Hello World!&quot;;

int main()
{
    const char* p = Literal_Hello_World;
}
</code></pre>
<p>Deshalb kann man z.B. String-Literale aus Funktionen zurückgeben, ohne undefiniertes Verhalten hervorzurufen.</p>
<p>Gruß<br />
Don06</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551770</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Tue, 22 Jul 2008 15:12:21 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 15:29:11 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a></p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Das gilt aber nur für String-Literale, oder? Für andere wird doch keinen Speicher alloziert...</p>
</blockquote>
<p>Was für &quot;andere&quot;? Meinst Du Arrays?</p>
</blockquote>
<p>Nein, ich meinte Non-String-Literale wie <code>43.7f</code> oder <code>208</code> , für die ja kein Speicher reserviert wird. Aber darum scheint es eh nicht zu gehen, es war mir nur aus deinem Post nicht ganz klar, ob du allgemein Literale meintest.</p>
<p>Wenn man das selbe String-Literal mehrmals benutzt, wird jedes Mal Speicher reserviert, oder?<br />
Also abgesehen von der Sinnlosigkeit:</p>
<pre><code class="language-cpp">std::cout &lt;&lt; &quot;Hello World&quot; &lt;&lt; std::endl;
std::string Str = &quot;Hello World&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1551781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551781</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Jul 2008 15:29:11 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 15:29:27 GMT]]></title><description><![CDATA[<p>Wobei ich nicht verstehe wieso man das machen kann.</p>
<pre><code class="language-cpp">char* text = &quot;hallo&quot;;

text[0] = 'B'; //kracht natürlich
</code></pre>
<p>Aus Kompatibilitätsgründen nehme ich an, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551782</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Tue, 22 Jul 2008 15:29:27 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Tue, 22 Jul 2008 16:54:56 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a>:<br />
Das ist wie gesagt nicht definiert (dem Compiler überlassen), beim MSVC kannst Du z.B. &quot;String Pooling&quot; einschalten, wobei hier für mehrere separate aber inhaltlich identische Literale nur einmal Speicherplatz reserviert wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1551841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1551841</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 22 Jul 2008 16:54:56 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen auf String Literale und wiedermal char* = ... on Wed, 23 Jul 2008 16:30:43 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>kleines Brett vorhanden</p>
</blockquote>
<p>Brett von LordJaxom durchgeschlagen. <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>
<p>templäd schrieb:</p>
<blockquote>
<p>Wobei ich nicht verstehe wieso man das machen kann.</p>
<pre><code class="language-cpp">char* text = &quot;hallo&quot;;

text[0] = 'B'; //kracht natürlich
</code></pre>
<p>Aus Kompatibilitätsgründen nehme ich an, oder?</p>
</blockquote>
<p>text ist halt nen einfaches char* und da ist text[0] = ... bzw *(text+0) = ... auch ja ganz normal und hat hier nichts mit Kompatibilität zu tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1552545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1552545</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 Jul 2008 16:30:43 GMT</pubDate></item></channel></rss>