std::string frage?
-
Badestrand schrieb:
...Ich finde halt die Art des formatierens ("%s %i") ne Ecke schöner und übersichtlicher als "<< blablabla.getText()"....
Das liegt dann aber höchstens daran, dass Du "C-verbogen" bist.
Den allermeisten Programmierern dürfte die "<<"-Notation übersichtlicher und sprechender sein als auswendig zu lernende "Formatkennzeichner".Gruß,
Simon2.
-
Simon2 schrieb:
Das liegt dann aber höchstens daran, dass Du "C-verbogen" bist.
Das ist gut möglich, ja
Allerdings sind wohl eher die Stream-Formatierungsoptionen ein Graus:
std::string name = "Badestrand"; double age = 99.97; printf( "%s ist %.4f Jahre alt", name.c_str(), age ); versus(); std::cout << name << " ist " << std::setiosflags(std::ios::fixed) << std::setprecision(4) << age << " Jahre alt";
Naja, ist mir das obige halt lieber.. Aber das ist Geschmackssache (und ich hab in mehreren Dingen einen komischen Geschmack), ich will auch keine Diskussion darüber anfangen und vor allem will ich nicht meinen Namen wechseln müssen
-
Na, wer unbedingt die %-Notation braucht, kann auch http://www.boost.org/libs/format/index.html benutzen.
-
Simon2 schrieb:
Den allermeisten Programmierern dürfte die "<<"-Notation übersichtlicher und sprechender sein als auswendig zu lernende "Formatkennzeichner".
die allermeisten programmierer stellen sich unter '<<' einen links-shift vor
...und diese formatkennzeichner sind auch nicht schwieriger zu merken als die ganzen ios_base::fmtflags und was noch alles zu C++ streams dazu gehört.
Badestrand schrieb:
...ich will auch keine Diskussion darüber anfangen und vor allem will ich nicht meinen Namen wechseln müssen
angsthase - pfeffernase - morgen kommt der osterhase
-
Apeman schrieb:
die allermeisten programmierer stellen sich unter '<<' einen links-shift vor
Der heisst in C++ aber auch stream insertion operator. Wenn man das weiss, stellt man sich darunter nicht zwangsläufig einen Links-Shift vor. Zumal das nicht der einzige Operator wäre, der je nach Kontext eine andere Bedeutung hat.
-
LordJaxom schrieb:
Apeman schrieb:
die allermeisten programmierer stellen sich unter '<<' einen links-shift vor
Der heisst in C++ aber auch stream insertion operator. Wenn man das weiss, stellt man sich darunter nicht zwangsläufig einen Links-Shift vor. Zumal das nicht der einzige Operator wäre, der je nach Kontext eine andere Bedeutung hat.
das ist richtig, aber ich bezog mich auf Simon's aussage 'die allermeisten programmierer...', denn viele sprachen mit C-ähnlicher syntax haben das '<<' ausschliesslich als shift-operator.
-
man hätte die stream operatoren <- und -> nennen sollen. aus dem jetzigen -> hätte man dann : gemacht. und zwischen :: und . nicht mehr unterschieden.
std.cout <- obj:getValue() <- std.endl
sieht doch viel schöner aus
-
Ja, schöner wäre das schon - aber man wollte für C++ keine neuen Operatoren erfinden (<- gibt's nicht in C und -> hat aus C eine Semantik, die noch festgefahrener ist als die Shift-Operatoren).
-
Na, dann mußte die Sprache wechseln, wenn dir schon jedes Syntax-Element nicht gefällt.
-
Artchi schrieb:
Na, dann mußte die Sprache wechseln, wenn dir schon jedes Syntax-Element nicht gefällt.
na, dann musste das kommunikationsmedium wechseln, wenn du schon smileys nicht verstehst.
-
Die C++-Streams sind zwar ganz nett aber ungünstig wenn man internationalisieren muß. Die Boost-Lösung dagegen ist typsicher und unterstützt Internationalisierung, (ist allerdings ein bißchen langsamer als die Streams, die auch schon langsamer als printf sind).
-
java gewninnt
-
scnr schrieb:
java gewninnt
Und damit ist der Thread wohl gestorben
(@all: Bitte jetzt keinen neuen Flamewar Java vs C++ anfangen, sonst wird der Thread geschlossen)
-
Tyrdal schrieb:
Die C++-Streams sind zwar ganz nett aber ungünstig wenn man internationalisieren muß.
Was meinst du damit?