006
23.08.2004, 14:04 Uhr
virtual
Sexiest Bit alive (Operator)
|
@Pablo Also Stell Dir doch einfach mal folgenden Code vor:
C++: |
#include <string> #include <iostream>
int main() { std::string str = "Hallo, " "Welt!"; std::cout<<str<<std::endl; }
|
Ist vollkommen legaler C++ code. C++ ist so schlau, die beiden durch ein Space getrennten Strings zusammen zu fassen.
Und das hier ist ohne die Erweiterung ja noicht möglich:
C++: |
#include <string> #include <iostream> int main() { std::string halloStr = "Hallo, "; std::string str = halloStr "Welt!"; std::cout<<str<<std::endl; }
|
Das ging bisher ja nicht, obwohls inkonistent ist: sowohl "Hallo, " alsauch halloStr sind ja Strings und damit ist eigentlich nicht einzusehen, warum unteres Beispiel nicht tut, wenn obiges läuft. Stroustrup hat endlich mit dem Unsinn aufgeräumt und diese wichtige Erweiterung eingebaut.
Bearbeitung: |
Der dafür erfoderliche Operator lautet ja so:
C++: |
std::string operator ' ' (const std::string& l, const std::string& r) { return l+r; }
|
Ich denke, man wird ihn aber gleich in die STL packen, gleich in the string header rein.
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) Dieser Post wurde am 23.08.2004 um 14:39 Uhr von virtual editiert. |