Neue Version der Programmiersprache C++ angenommen
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Neue Version der Programmiersprache C++ angenommen
Ich bin mir sicher, dass nullptr schon in allen aktuellen Compilern verfügbar ist.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Neue Version der Programmiersprache C++ angenommen
Das war nur ein Beispiel von den Dingen, mit denen ich mich anfreunden könnte in Zukunft zu arbeiten. Das einzige von den "großen" Veränderungen, was mir nicht gefällt, ist das neue "auto". Macht den Code doch nur unleserlicher und wieder unstabiler, imo.Xin hat geschrieben:Ich bin mir sicher, dass nullptr schon in allen aktuellen Compilern verfügbar ist.
Ja, laut dem VC++ Dev-Blog ist alles drin, bzw. teilweise drin, außer "Rvalue references for *this" und "Forward declared enums". Muss mal später einige Testprogrämmchen laufen lassen.
Re: Neue Version der Programmiersprache C++ angenommen
Warum? Der Typ wird direkt beim kompilieren bestimmt und kann auch nicht geändert werden. Für Lambdafunktionen gibt es übrigens gar keinen definierten Typ und für verschachtelte Typen wie zb. Iteratoren ist es schon eine ziemliche Vereinfachtung und Verbesserung der Lesbarkeit.MoonGuy hat geschrieben:Das einzige von den "großen" Veränderungen, was mir nicht gefällt, ist das neue "auto". Macht den Code doch nur unleserlicher und wieder unstabiler, imo.
Was ich so auf verschiedenen Seiten und vor allem Bugreports gelesen habe wird es wohl noch mehr als eine Version daueren bis Visual Studio alle C++11 Features unterstützen wird. So fehlen jetzt zb. Variadic Templates und Range Based For noch völlig. Der gcc ist da schon viel weiter...
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: Neue Version der Programmiersprache C++ angenommen
Ja. Merke ich auch. Naja, wenn ich direkt beim initialisieren auto angebe und dann den Wert, dann weiß ich doch selber, was der Datentyp werden soll. Wogegen es, meiner Meinung, hilft, ist, dass Programmierer für bestimmte Umgebungen eventuell andere Datentypen brauchen wegen typedef o.ä. und das man das mit auto umgehen kann. Als Programmierer, der dann auf den Code jemand anderes schaut, ist es im ersten Moment weniger Information als vorher. Wenn man damit weiterarbeiten will, muss man sich alles angucken. Wenn man nur drüber schaut, ist es wohl angenehmer.Kerli hat geschrieben:Warum? Der Typ wird direkt beim kompilieren bestimmt und kann auch nicht geändert werden. Für Lambdafunktionen gibt es übrigens gar keinen definierten Typ und für verschachtelte Typen wie zb. Iteratoren ist es schon eine ziemliche Vereinfachtung und Verbesserung der Lesbarkeit.MoonGuy hat geschrieben:Das einzige von den "großen" Veränderungen, was mir nicht gefällt, ist das neue "auto". Macht den Code doch nur unleserlicher und wieder unstabiler, imo.
Was ich so auf verschiedenen Seiten und vor allem Bugreports gelesen habe wird es wohl noch mehr als eine Version daueren bis Visual Studio alle C++11 Features unterstützen wird. So fehlen jetzt zb. Variadic Templates und Range Based For noch völlig. Der gcc ist da schon viel weiter...
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Re: Neue Version der Programmiersprache C++ angenommen
Theoretisch hast du recht. Praktisch allerdings wirds so ungefähr abMoonGuy hat geschrieben:Naja, wenn ich direkt beim initialisieren auto angebe und dann den Wert, dann weiß ich doch selber, was der Datentyp werden soll. Wogegen es, meiner Meinung, hilft, ist, dass Programmierer für bestimmte Umgebungen eventuell andere Datentypen brauchen wegen typedef o.ä. und das man das mit auto umgehen kann. Als Programmierer, der dann auf den Code jemand anderes schaut, ist es im ersten Moment weniger Information als vorher. Wenn man damit weiterarbeiten will, muss man sich alles angucken. Wenn man nur drüber schaut, ist es wohl angenehmer.
Code: Alles auswählen
std::vector<std::pair<std::string, std::string>, MyAllocator>::const_iterator it = sack.begin();
Code: Alles auswählen
auto it = sack.begin();
Außerdem kann es manchmal ziemlich schwierig werden, den typ anzugeben. Versuch mal einen Parser in Boost.Spirit [1] in einer Variable zu speichern. Viel Spaß.
Außerdem wirds dann kompliziert, wenn du ein Template hast, dessen Rückgabewert von den Template-Parametern abhängt. Sonst müsstest du dich mit irgendwelchen seltsamen Traits-konstrukten herumärgern, mit auto gibts eine (naja, nicht gerade hübsche) Möglichkeit das zu vereinfachen.
Schlicht und einfach unmöglich wird es wie gesagt bei Lambdas. Die kann man ohne "auto" schlicht und einfach nicht abspeichern.
Ich finde Code muss schön sein, und zwar auch optisch. Wenn du nämlich drübersiehst und du bist in einem Wald von Anweisungen und Typen gefangen, die dich eigentlich nicht interessieren, dann lenkt das ab und ist kontraproduktiv. Wenn du "drüberschaust" und du siehst was passiert, dann ist das was gutes finde ich.
[1] http://boost-spirit.com/home/
Haters gonna hate, potatoes gonna potate.
Re: Neue Version der Programmiersprache C++ angenommen
Heute habe ich dieses von Scott Meyers gefunden. Ich hab noch nicht reingeschaut (es gibt eine Leseprobe), aber der Beschreibung nach hört es sich nicht schlecht an.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Neue Version der Programmiersprache C++ angenommen
Wie stehen die Chancen, dass wir C11 ins Wiki bekommen?Kerli hat geschrieben:Heute habe ich dieses von Scott Meyers gefunden. Ich hab noch nicht reingeschaut (es gibt eine Leseprobe), aber der Beschreibung nach hört es sich nicht schlecht an.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.