<?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[operator= überladen, sodass man chars mit = gegenseitig zuweisen kann]]></title><description><![CDATA[<p>Warum geht das hier nicht:</p>
<pre><code class="language-cpp">char* operator= (char *lhs,char *rhs);
</code></pre>
<p>error: `char* operator=(char*, char*)' must be a nonstatic member function</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204480/operator-überladen-sodass-man-chars-mit-gegenseitig-zuweisen-kann</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 22:04:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204480.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Feb 2008 20:09:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to operator= überladen, sodass man chars mit = gegenseitig zuweisen kann on Sun, 03 Feb 2008 20:09:50 GMT]]></title><description><![CDATA[<p>Warum geht das hier nicht:</p>
<pre><code class="language-cpp">char* operator= (char *lhs,char *rhs);
</code></pre>
<p>error: `char* operator=(char*, char*)' must be a nonstatic member function</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448752</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sun, 03 Feb 2008 20:09:50 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen, sodass man chars mit = gegenseitig zuweisen kann on Sun, 03 Feb 2008 20:13:34 GMT]]></title><description><![CDATA[<p>Wie willst du den denn dann verwenden???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448755</guid><dc:creator><![CDATA[*D*]]></dc:creator><pubDate>Sun, 03 Feb 2008 20:13:34 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen, sodass man chars mit = gegenseitig zuweisen kann on Sun, 03 Feb 2008 20:19:04 GMT]]></title><description><![CDATA[<p>operator= kann nur für Klassenobjekte als linker Operand und nur als nichtstatische Memberfunktion überladen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448758</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 03 Feb 2008 20:19:04 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen, sodass man chars mit = gegenseitig zuweisen kann on Sun, 03 Feb 2008 20:38:47 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>D schrieb:</p>
<blockquote>
<p>Wie willst du den denn dann verwenden???</p>
</blockquote>
<p>Wie er beschrieben hat : er will das leidige strcpy umgehen...<br />
camper hat schon gesagt das es nicht geht (er hat dir im Grunde nur die Fehlermeldung übersetzt...). Verwende std::string dann kannst du auch einfach zuweisen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448771</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 03 Feb 2008 20:38:47 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen, sodass man chars mit = gegenseitig zuweisen kann on Sun, 03 Feb 2008 20:53:30 GMT]]></title><description><![CDATA[<p>Und warum kann man eigentlich den operator = nur in Klassen - also als einseitigen Operator - verwenden?<br />
MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448775</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sun, 03 Feb 2008 20:53:30 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen, sodass man chars mit = gegenseitig zuweisen kann on Sun, 03 Feb 2008 22:00:20 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Und warum kann man eigentlich den operator = nur in Klassen - also als einseitigen Operator - verwenden?</p>
</blockquote>
<p>Weil C++ garantiert, dass die Semantik der Basistypen nur erweiterbar, nicht aber veränderbar ist. D.h. wenn irgendwo steht 'a = b' und a und b sind beide vom Typ 'char*', dann ist ein gewisses Verhalten definiert, das sich nicht verändern lässt.</p>
<p>Daher ist Dein Code nicht zulässig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448813</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sun, 03 Feb 2008 22:00:20 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen, sodass man chars mit = gegenseitig zuweisen kann on Tue, 05 Feb 2008 17:22:47 GMT]]></title><description><![CDATA[<p>halli hallo,</p>
<p>du könntest es anstatt des = operators einfach mal mit dem &lt;&lt; operator versuchen. das sollte funktionieren. dem entgegen steht dann natürlich die gute lesbarkeit des codes. allerdings finde ich es für char-ketten gar nicht so abwegig, sie wie streams operieren zu lassen...</p>
<p>mfg<br />
marco</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449978</guid><dc:creator><![CDATA[nonstatic member]]></dc:creator><pubDate>Tue, 05 Feb 2008 17:22:47 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen, sodass man chars mit = gegenseitig zuweisen kann on Tue, 05 Feb 2008 17:30:52 GMT]]></title><description><![CDATA[<p>nonstatic member schrieb:</p>
<blockquote>
<p>du könntest es anstatt des = operators einfach mal mit dem &lt;&lt; operator versuchen. das sollte funktionieren. dem entgegen steht dann natürlich die gute lesbarkeit des codes. allerdings finde ich es für char-ketten gar nicht so abwegig, sie wie streams operieren zu lassen...</p>
</blockquote>
<p>Ich halte Operatoren in dieser Hinsicht für vollkommen falsch, egal ob über + oder &lt;&lt;.</p>
<p>Sag mir mal was - wenn wir irgendeinen Operator für char* definieren - mit der Speicherzuweisung, und bereits definierten Verhalten passieren soll...</p>
<p>Nehmen wir doch einfach mal an, irgendwer verwendet dann den Code wie folgt:</p>
<pre><code class="language-cpp">char* test = &quot;a&quot; + &quot;b&quot;;
</code></pre>
<p>Ist nun der Operator für die Speicherallozierung verantwortlich, das Ziel kann es ja nicht sein, da es ein Returnvalue zugewiesen bekommt.</p>
<p>Und was passiert dann hier:</p>
<pre><code class="language-cpp">std::cout &lt;&lt; &quot;a&quot; &lt;&lt; &quot;b&quot;;
</code></pre>
<p>Könnte es sein das sich dann das Verhalten verändert?</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449983</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 05 Feb 2008 17:30:52 GMT</pubDate></item></channel></rss>