Ist das guter Programmierstil?
-
//----------------------------------------------------------------------- String String::toLowerCase(void) { std::transform( begin(), end(), begin(), static_cast<int(*)(int)>(::tolower) ); return *this; } //----------------------------------------------------------------------- String String::toUpperCase(void) { std::transform( begin(), end(), begin(), static_cast<int(*)(int)>(::toupper) ); return *this; } //-----------------------------------------------------------------------
-
du solltest Referenzen zurückgeben um dir den CCtor aufruf zu sparen, außerdem versteh ich nicht den Sinn des Casts und toupper/tolower sollten im Namespace std liegen (außer du includierst <ctype.h>, dann solltest du aber lieber <cctype> includieren und nicht den Namespace verschmutzen)
über die Position der {'s kann man sich streiten und das lass ich mal weg, die Kommentar Linien finde ich auch nicht so toll. Aber jeder wie er es am besten findet
-
Eine Methode toLower(), die eine 'lower'-Kopie des Strings zurückgibt, sollte nicht den original-String verändern.
-
es heißt nicht get_lower_case sonder toLowerCase.
-
Naja, ändert ja nichts daran, dass ich bei etwas wie string b = a.toLower(); ziemlich blöd gucken würde, wenn 'a' danach auf einmal auch klein ist.
Dann lieber eine void-Funktion draus machen.
-
Vielleicht ist es als
a.toLowerCase();
gedacht. Und damit es in bestimmten Situationen schneller geht bekommt man gleich noch den String.
und veilleicht hat er ja auch ein getLowerCase() implementiert, was das ganze auch ohne Dokumentation recht klar machen würde.
String String::getLowerCase(void) { return String().toLowerCase(); }