<?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[Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;)]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Ich portiere gerade eine Anwendung von Windows auf Linux.<br />
Leider nutzt diese relativ oft CString.</p>
<p>Jetzt würde ich die CString Objekte unter Linux gerne mit std::string ersetzen und die fehlenden Memberfunktionen einfach selbst schreiben (zumindest als Wrapper: zB string::GetLength() das dann einfach nur this-&gt;length() returned).</p>
<p>Dabei stellt sich mir folgendes Problem:<br />
Wie kann ich zu std::string neue Memberfunktionen hinzufügen?<br />
Einfach das entsprechende File in welchem std::string als class definiert wird ändern und da meine Memberfunktionen reinpacken?</p>
<p>Oder gibts da was eleganteres?</p>
<p>Arbeite mit g++ unter Ubuntu falls das was zur Sache tut!</p>
<p>Vielen Dank im voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/282322/wie-neue-memberfunktion-zu-std-string-adden-wrapperfunktionen-um-cstring-unter-linux-zu-quot-simulieren-quot</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 07:13:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/282322.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Feb 2011 21:49:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Thu, 17 Feb 2011 21:49:29 GMT]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Ich portiere gerade eine Anwendung von Windows auf Linux.<br />
Leider nutzt diese relativ oft CString.</p>
<p>Jetzt würde ich die CString Objekte unter Linux gerne mit std::string ersetzen und die fehlenden Memberfunktionen einfach selbst schreiben (zumindest als Wrapper: zB string::GetLength() das dann einfach nur this-&gt;length() returned).</p>
<p>Dabei stellt sich mir folgendes Problem:<br />
Wie kann ich zu std::string neue Memberfunktionen hinzufügen?<br />
Einfach das entsprechende File in welchem std::string als class definiert wird ändern und da meine Memberfunktionen reinpacken?</p>
<p>Oder gibts da was eleganteres?</p>
<p>Arbeite mit g++ unter Ubuntu falls das was zur Sache tut!</p>
<p>Vielen Dank im voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022516</guid><dc:creator><![CDATA[ChangeMyString]]></dc:creator><pubDate>Thu, 17 Feb 2011 21:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Thu, 17 Feb 2011 21:54:29 GMT]]></title><description><![CDATA[<p>ChangeMyString schrieb:</p>
<blockquote>
<p>Oder gibts da was eleganteres?</p>
</blockquote>
<p>Ja, freie Funktionen.</p>
<pre><code class="language-cpp">std::string Transmogrify(const std::string&amp; str)
{
    // tue hier str transmogrifizieren und zurückgeben
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2022519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022519</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 17 Feb 2011 21:54:29 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Thu, 17 Feb 2011 21:57:48 GMT]]></title><description><![CDATA[<p>Schreib eine Klasse <code>CString</code> , die einen <code>string</code> kapselt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022520</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Thu, 17 Feb 2011 21:57:48 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Thu, 17 Feb 2011 23:28:19 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>Und dann ganz normal aufrufen:</p>
<pre><code class="language-cpp">string s;
[...]
s.GetLength();

std::string GetLength(const std::string&amp; str)
{
    return str-&gt;length();
}
</code></pre>
<p>?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/22298">@TyRoXx</a>: Also ne eigene Klasse definieren die einen privaten string hat und dann intern mit dem Arbeiten`?</p>
<p>Brauch ich dazu nicht für jede Funktion von string auch eine die die dann aufruft?</p>
<p>Danke für eure Hilfe <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/2022539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022539</guid><dc:creator><![CDATA[ChangeMyString]]></dc:creator><pubDate>Thu, 17 Feb 2011 23:28:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 08:29:19 GMT]]></title><description><![CDATA[<p>Natürlich mit der Syntax für freie Funktionen aufrufen <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">std::string a;
std::string b = Transmogrify(a);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2022597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022597</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 18 Feb 2011 08:29:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 08:40:54 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Natürlich mit der Syntax für freie Funktionen aufrufen <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">std::string a;
std::string b = Transmogrify(a);
</code></pre>
</blockquote>
<p>Und was soll das bringen? Dann ist ein <code>std::string</code> immer noch ein <code>std::string</code> und hat nach wie vor kein <code>GetLength()</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022607</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 18 Feb 2011 08:40:54 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 08:53:54 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>Und was soll das bringen? Dann ist ein <code>std::string</code> immer noch ein <code>std::string</code> und hat nach wie vor kein <code>GetLength()</code> .</p>
</blockquote>
<p>Ein <code>std::string</code> wird immer ein <code>std::string</code> bleiben und nie ein <code>GetLength()</code> haben.</p>
<p>Der Wrapper-Vorschlag wurde ja auch schon genannt. Ich hoffe mal nicht, dass es hier an der Aufruf-Syntax scheitert, &quot;weil ja <code>str.GetLength()</code> so viel objektorientierter ist als <code>GetLength(str)</code> &quot;...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022615</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 18 Feb 2011 08:53:54 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 09:00:19 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Tachyon schrieb:</p>
<blockquote>
<p>Und was soll das bringen? Dann ist ein <code>std::string</code> immer noch ein <code>std::string</code> und hat nach wie vor kein <code>GetLength()</code> .</p>
</blockquote>
<p>Ein <code>std::string</code> wird immer ein <code>std::string</code> bleiben und nie ein <code>GetLength()</code> haben.</p>
<p>Der Wrapper-Vorschlag wurde ja auch schon genannt. Ich hoffe mal nicht, dass es hier an der Aufruf-Syntax scheitert, &quot;weil ja <code>str.GetLength()</code> so viel objektorientierter ist als <code>GetLength(str)</code> &quot;...</p>
</blockquote>
<p>So wie ich das verstanden habe will er erreichen, dass er seinen CString-Client-Code möglichst nicht ändern muss. Das wäre woll nicht zutreffend, wenn man an allen Stellen wo irgendwie mit CString-Objekten rumgemacht wird eine freie Funktion aufrufen müsste. Ein Wrapper wäre wohl sinnvoller. Dann brauchts im Idealfall nur eine Änderung der includes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022619</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 18 Feb 2011 09:00:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 09:07:05 GMT]]></title><description><![CDATA[<p>Ja, der Vorschlag wurde ja wie gesagt schon längst gebracht. Es gibt zwei Anforderungen:</p>
<ul>
<li><code>std::string</code> verwenden</li>
<li>Klasse mit gleichem Interface wie <code>CString</code></li>
</ul>
<p>Dummerweise sind diese nicht vereinbar. Da ChangeMyString mich nach der Umsetzung <em>meiner</em> Variante gefragt hat (wahrscheinlich nicht ganz im Bewusstsein, dass freie Funktionen anders als Memberfunktionen aufgerufen werden), hab ich ihm eben geantwortet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022622</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 18 Feb 2011 09:07:05 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 09:12:29 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Ja, der Vorschlag wurde ja wie gesagt schon längst gebracht. Es gibt zwei Anforderungen:</p>
<ul>
<li><code>std::string</code> verwenden</li>
<li>Klasse mit gleichem Interface wie <code>CString</code></li>
</ul>
<p>Dummerweise sind diese nicht vereinbar. Da ChangeMyString mich nach der Umsetzung <em>meiner</em> Variante gefragt hat (wahrscheinlich nicht ganz im Bewusstsein, dass freie Funktionen anders als Memberfunktionen aufgerufen werden), hab ich ihm eben geantwortet.</p>
</blockquote>
<p>Es gäbe noch eine dritte Möglichkeit: Alles auf std::string zu portieren. Dann geht es ohne weitere Anpassungen sowohl unter Windows als auch unter Linux. <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/2022623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022623</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 18 Feb 2011 09:12:29 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 09:38:25 GMT]]></title><description><![CDATA[<p><strong>C++? Vererbung!</strong></p>
<p>Ich hab mal sowas gemacht:</p>
<pre><code class="language-cpp">#include &lt;string&gt;

using namespace std;
class sstring : public string
{
public:
	explicit sstring(const allocator&lt;char_traits&lt;char&gt; &gt;&amp; al = allocator&lt;char_traits&lt;char&gt; &gt;()) : string(al){};
	sstring(const sstring&amp; rhs) : string((string)rhs){};
	sstring(const string&amp; rhs) : string(rhs){};
	sstring(const sstring&amp; rhs, string::size_type pos, string::size_type n,
        const allocator&lt;char_traits&lt;char&gt; &gt;&amp; al = allocator&lt;char_traits&lt;char&gt; &gt;()) : string(rhs,pos,n,al){};
    sstring(const char *s, string::size_type n, const allocator&lt;char_traits&lt;char&gt; &gt;&amp; al = allocator&lt;char_traits&lt;char&gt; &gt;()) : string(s,n,al){};
    sstring(const char *s, const allocator&lt;char_traits&lt;char&gt; &gt;&amp; al = allocator&lt;char_traits&lt;char&gt; &gt;()) : string(s,al){};
    sstring(string::size_type n, char c, const allocator&lt;char_traits&lt;char&gt; &gt;&amp; al = allocator&lt;char_traits&lt;char&gt; &gt;()) : string(n,c,al){};
    sstring(const_iterator first, const_iterator last,
        const allocator&lt;char_traits&lt;char&gt; &gt;&amp; al = allocator&lt;char_traits&lt;char&gt; &gt;()) : string(first, last, al){};

	size_type GetLength(){return length();};
	// ...
	// Beliebige andere Funktionen z.B. atoi(), makePath() und was das Herz begehrt...
	// oder eben eine Kopie von CString.
	// ...
};
</code></pre>
<p>Achtung! Das hier ist hingeschmiert.<br />
Aber so ähnlich würde ich das angehen.</p>
<p>Gruß</p>
<p>C.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022629</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Fri, 18 Feb 2011 09:38:25 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 10:16:42 GMT]]></title><description><![CDATA[<p>Caligulaminus schrieb:</p>
<blockquote>
<p><strong>C++? Vererbung!</strong></p>
<p>Ich hab mal sowas gemacht:</p>
<pre><code class="language-cpp">#include &lt;string&gt;

using namespace std;
class sstring : public string

...
</code></pre>
</blockquote>
<p>Damit wirst du dir ein schönes Speicherleck einfangen weil der Destruktor von std::string nicht virtual ist. Außerdem ist die Verwendung von using namespace std; in Header-Dateien auch nicht grad toll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022643</guid><dc:creator><![CDATA[rean]]></dc:creator><pubDate>Fri, 18 Feb 2011 10:16:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 10:28:07 GMT]]></title><description><![CDATA[<p>rean schrieb:</p>
<blockquote>
<p>Damit wirst du dir ein schönes Speicherleck einfangen weil der Destruktor von std::string nicht virtual ist.</p>
</blockquote>
<p>Ich sehe da kein Speicherleck.</p>
<p>Das von dir beschriebene Problem tritt auf, wenn man Member zu Klassen ohne virtuellen Konstruktor hinzufügt und diese auch noch über einen Basisklassenzeiger löscht. Hier wurden keine Member hinzugefügt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022648</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 18 Feb 2011 10:28:07 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 11:16:28 GMT]]></title><description><![CDATA[<p>Ich würde <code>std::string</code> gleich richtig wrappen. Dieses Gemisch von Namenskonventionen ist grausam. Ausserdem könnte man die über 100 Memberfunktionen von <code>std::string</code> aufs Wesentliche beschränken. Gerade hier scheint mir eine Ableitung von <code>std::string</code> nicht viel zu bringen, da die Basisklasse keine Funktionalität bietet, die genutzt wird (da sie eine komplett andere Schnittstelle als <code>CString</code> hat).</p>
<p>Generell würde ich nicht von STL-Containern erben, da diese nicht dazu designed sind. Im Normalfall – wenn es nicht nur darum geht, Code einer externen Klasse mit möglichst wenig Aufwand zu portieren – spricht überhaupt nichts gegen freie Funktionen zur Erweiterung der Funktionalität. Ein gutes Beispiel dafür sind die STL-Algorithmen.</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Ich sehe da kein Speicherleck.<br />
Das von dir beschriebene Problem tritt auf, wenn man Member zu Klassen ohne virtuellen Konstruktor hinzufügt und diese auch noch über einen Basisklassenzeiger löscht.</p>
</blockquote>
<p>Das wäre nicht nur ein Memory Leak, sondern undefiniertes Verhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022676</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 18 Feb 2011 11:16:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 11:53:28 GMT]]></title><description><![CDATA[<p>rean schrieb:</p>
<blockquote>
<p>Damit wirst du dir ein schönes Speicherleck einfangen weil der Destruktor von std::string nicht virtual ist. Außerdem ist die Verwendung von using namespace std; in Header-Dateien auch nicht grad toll.</p>
</blockquote>
<p>Ich schrieb:<br />
&quot;Achtung! Das hier ist hingeschmiert.&quot;</p>
<p>Aber danke für den Hinweis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022693</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Fri, 18 Feb 2011 11:53:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 11:59:56 GMT]]></title><description><![CDATA[<p>Wow, danke für all die Antworten <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>So wie ich das verstanden habe will er erreichen, dass er seinen CString-Client-Code möglichst nicht ändern muss.</p>
</blockquote>
<p>Genau so ist es, deswegen ist deine Lösung, Nexus, leider sehr umständlich in meinem Fall <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":\"
      alt="😕"
    /></p>
<blockquote>
<p>noch eine dritte Möglichkeit: Alles auf std::string zu portieren</p>
</blockquote>
<p>Dann muss ich, genau wie beim Lösungsansatz oben, wieder alles umschreiben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":\"
      alt="😕"
    /></p>
<blockquote>
<p>C++? Vererbung!<br />
Ich hab mal sowas gemacht:<br />
[...]</p>
</blockquote>
<p>Danke, ich blick den Code zwar nicht so 100% aber ich versuchs dann mal.</p>
<p>Gibts sonst keine Lösung für das Problem? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":\"
      alt="😕"
    /><br />
Spricht irgendwas dagegen einfach in den standardt Include Files rumzuwerkeln und std::string so zu erweitern? <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>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022703</guid><dc:creator><![CDATA[ChangeMyString]]></dc:creator><pubDate>Fri, 18 Feb 2011 11:59:56 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 12:27:24 GMT]]></title><description><![CDATA[<p>ChangeMyString schrieb:</p>
<blockquote>
<p>Spricht irgendwas dagegen einfach in den standardt Include Files rumzuwerkeln und std::string so zu erweitern? <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>
</blockquote>
<p>Portabilität. Ansonsten darfst du natürlich an deiner Standardbibliothek rumschustern wie du willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022723</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 18 Feb 2011 12:27:24 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 12:27:38 GMT]]></title><description><![CDATA[<p>Ich verstehe immer noch nicht, warum du dich so an <code>std::string</code> festklammerst. Dessen Schnittstelle nützt dir ja eh nichts, weil die Memberfunktionen bei <code>CString</code> eine andere Namenskonvention haben, du also doch viel ändern müsstest. <strong>Wieso also keine eigene Klasse, die <code>std::string</code> enthält und das Interface von <code>CString</code> anbietet?</strong></p>
<p>Ja, gegen das Verändern der Standardbibliothek spricht die Vernunft. Dein Code wird so maximal unportabel, ist an eine einzige Version gebunden, und kann sogar undefiniertes Verhalten auslösen (denn ein Compiler darf Meta-Informationen über seine Standardbibliothek besitzen, z.B. zu Optimierungs- oder Debugzwecken).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022724</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 18 Feb 2011 12:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 12:33:08 GMT]]></title><description><![CDATA[<p>Ok vielen Dank für eure Hilfe, ich werd jetzt eine eigene Klasse machen die das Interface von CString anbietet <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>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022732</guid><dc:creator><![CDATA[ChangeMyString]]></dc:creator><pubDate>Fri, 18 Feb 2011 12:33:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 12:35:51 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>ChangeMyString schrieb:</p>
<blockquote>
<p>Spricht irgendwas dagegen einfach in den standardt Include Files rumzuwerkeln und std::string so zu erweitern? <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>
</blockquote>
<p>Portabilität. Ansonsten darfst du natürlich an deiner Standardbibliothek rumschustern wie du willst.</p>
</blockquote>
<p>Es ist tatsächlich so, dass laut Standard alle Änderungen im Namensraum std:: (mit genau einer Ausnahme) ins Reich des UB definiert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022736</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 18 Feb 2011 12:35:51 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 12:40:54 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>Es ist tatsächlich so, dass laut Standard alle Änderungen im Namensraum std:: (mit genau einer Ausnahme) ins Reich des UB definiert werden.</p>
</blockquote>
<p>Ja, aber praktisch würde das schon funktionieren. Trotzdem ist es natürlich eine schlechte Idee, weil maximal unportabel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022741</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 18 Feb 2011 12:40:54 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 12:50:24 GMT]]></title><description><![CDATA[<p>ChangeMyString schrieb:</p>
<blockquote>
<p>Ok vielen Dank für eure Hilfe, ich werd jetzt eine eigene Klasse machen die das Interface von CString anbietet <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>Ich würde auch mal im Internet suchen. Vielleicht gibt es Leute, die schon vor dem gleichen Problem gestanden haben. String-Implementierungen gibt es sicher auch Millionen, möglicherweise kommt ja eine deinen Wünschen recht nahe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022754</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 18 Feb 2011 12:50:24 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Fri, 18 Feb 2011 13:17:08 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>ChangeMyString schrieb:</p>
<blockquote>
<p>Ok vielen Dank für eure Hilfe, ich werd jetzt eine eigene Klasse machen die das Interface von CString anbietet <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>Ich würde auch mal im Internet suchen. Vielleicht gibt es Leute, die schon vor dem gleichen Problem gestanden haben. String-Implementierungen gibt es sicher auch Millionen, möglicherweise kommt ja eine deinen Wünschen recht nahe.</p>
</blockquote>
<p>Ist die CString-Klasse nicht auch einfach nur ein Klassen-Template? Man könnte sich das Ding ja kopieren und dann zum Funktionieren bringen. *hüstel*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2022770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2022770</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 18 Feb 2011 13:17:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wie neue Memberfunktion zu std::string adden (Wrapperfunktionen, um CString unter linux zu &amp;quot;simulieren&amp;quot;) on Sun, 20 Feb 2011 16:29:45 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4465">@Tachyon</a>: Was ist die Ausnahme?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2023792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2023792</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Sun, 20 Feb 2011 16:29:45 GMT</pubDate></item></channel></rss>