<?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[bestehende Klassen&#x2F;Strukturen verändern]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mir folgenden Code gebastelt damit Zeichenketten von der STL alphabetisch sortiert werden:<br />
//[...]<br />
string tolower(const string &amp;str) // aus vcppk<br />
{<br />
string result=str;<br />
for(int i=0;i&lt;result.size();++i)<br />
{<br />
result[i]=tolower(result[i]);<br />
}<br />
return result;<br />
}</p>
<p>template&lt;&gt;<br />
inline bool less&lt;string&gt;::operator()(const string&amp; __x, const string&amp; __y) const<br />
{<br />
return tolower(__x) &lt; tolower(__y);<br />
}<br />
//[...]<br />
und wollte jetzt mal wissen, ob man so etwas, also bestehende Klassen, oder in dem Fall Strukturen, verändern, lieber lassen sollte, oder es in Ordnung geht?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186195/bestehende-klassen-strukturen-verändern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 07:57:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186195.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Jul 2007 06:17:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bestehende Klassen&#x2F;Strukturen verändern on Fri, 06 Jul 2007 06:17:20 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mir folgenden Code gebastelt damit Zeichenketten von der STL alphabetisch sortiert werden:<br />
//[...]<br />
string tolower(const string &amp;str) // aus vcppk<br />
{<br />
string result=str;<br />
for(int i=0;i&lt;result.size();++i)<br />
{<br />
result[i]=tolower(result[i]);<br />
}<br />
return result;<br />
}</p>
<p>template&lt;&gt;<br />
inline bool less&lt;string&gt;::operator()(const string&amp; __x, const string&amp; __y) const<br />
{<br />
return tolower(__x) &lt; tolower(__y);<br />
}<br />
//[...]<br />
und wollte jetzt mal wissen, ob man so etwas, also bestehende Klassen, oder in dem Fall Strukturen, verändern, lieber lassen sollte, oder es in Ordnung geht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319354</guid><dc:creator><![CDATA[AGS&#x27;ler]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:17:20 GMT</pubDate></item><item><title><![CDATA[Reply to bestehende Klassen&#x2F;Strukturen verändern on Fri, 06 Jul 2007 06:19:22 GMT]]></title><description><![CDATA[<p>was sind das für Klassen die bestehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319355</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:19:22 GMT</pubDate></item><item><title><![CDATA[Reply to bestehende Klassen&#x2F;Strukturen verändern on Fri, 06 Jul 2007 06:19:53 GMT]]></title><description><![CDATA[<p>srz, hier nocheinmal schön:</p>
<pre><code class="language-cpp">//[...]
string tolower(const string &amp;str) // aus vcppk
{
    string result=str;
    for(int i=0;i&lt;result.size();++i)
    {
        result[i]=tolower(result[i]);
    }
    return result;
}

template&lt;&gt;
inline bool less&lt;string&gt;::operator()(const string&amp; __x, const string&amp; __y) const
{
    return tolower(__x) &lt; tolower(__y);
}
//[...]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1319356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319356</guid><dc:creator><![CDATA[AGS&#x27;ler]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:19:53 GMT</pubDate></item><item><title><![CDATA[Reply to bestehende Klassen&#x2F;Strukturen verändern on Fri, 06 Jul 2007 06:21:57 GMT]]></title><description><![CDATA[<p>Die Klasse less ist in der stl_funktions.h zu finden und wird per Template an z.B. den Vector übergeben, damit dieser weis, wie er Vergleichen soll!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319359</guid><dc:creator><![CDATA[AGS&#x27;ler]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:21:57 GMT</pubDate></item><item><title><![CDATA[Reply to bestehende Klassen&#x2F;Strukturen verändern on Fri, 06 Jul 2007 06:22:54 GMT]]></title><description><![CDATA[<p>dann ist es nichts empfehlenswert da drin rumzupfuschen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319360</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:22:54 GMT</pubDate></item><item><title><![CDATA[Reply to bestehende Klassen&#x2F;Strukturen verändern on Fri, 06 Jul 2007 06:25:44 GMT]]></title><description><![CDATA[<p>Ich will ja nicht die stl_funktions.h verändern, sondern nur die Klasse für einen bestimmten Fall ( string wird als Template übergeben ) spezifizieren; ist es dann erlaubt???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319362</guid><dc:creator><![CDATA[AGS&#x27;ler]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:25:44 GMT</pubDate></item><item><title><![CDATA[Reply to bestehende Klassen&#x2F;Strukturen verändern on Fri, 06 Jul 2007 06:25:45 GMT]]></title><description><![CDATA[<p>Wenn du die Neudefinition von less&lt;&gt;::operator() meinst, lass das lieber. Damit machst du vermutlich mehr kaputt als du verbesserst. Der sicherere Weg ist es, den Case-insensitiven Vergleich in einen eigenen Funktor zu packen und diesen immer mitzugeben, wenn du mit Strings arbeiten willst (STL-Klassen und -Algorithmen, die Elemente vergleichen können, bieten grundsätzlich die Möglichkeit, eigene Vergleichsfunktionen anstelle von &lt; mitzugeben).</p>
<p>PS: Die Alternative wäre es noch, den Vergleich in eine eigene char_traits-Version zu packen und damit direkt an die String-Klasse zu hängen. Vergleiche dazu meinen Magazin-Artikel über Stringverarbeitung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319363</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to bestehende Klassen&#x2F;Strukturen verändern on Fri, 06 Jul 2007 06:43:42 GMT]]></title><description><![CDATA[<p>Danke; sie haben wahrscheinlich wie immer Recht!</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>Wenn du die Neudefinition von less&lt;&gt;::operator() meinst, lass das lieber.[...]</p>
</blockquote>
<p>Ich will ja nichts großartig, sprich nicht alles, neudefinieren, sondern less nur in einem besimmten fall spezialiesieren! Kann ich da soo viel Kaputt machen???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319375</guid><dc:creator><![CDATA[AGS&#x27;ler]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:43:42 GMT</pubDate></item><item><title><![CDATA[Reply to bestehende Klassen&#x2F;Strukturen verändern on Fri, 06 Jul 2007 06:56:25 GMT]]></title><description><![CDATA[<p>Ja, kannst du - vor allem werden dann in deinem Programm &quot;normale&quot; Vergleiche (bei Direktaufruf von &lt;, z.B. bei der Defaultversion von sort()) und tolower-Vergleiche (bei der Arbeit über less&lt;&gt;, z.B. bei einer set&lt;string&gt;) bunt durcheinandergewürfelt, ohne daß du wirklich beeinflussen kannst, wann welcher Fall eintritt. Mit einem eigenen Funktor kannst du explizit angeben, wann du was benötigst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319383</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:56:25 GMT</pubDate></item></channel></rss>