C++ Standards
-
Richtig, denn eigentlich wird der C++ Standard viel zu selten neu aufgelegt. Und alex89ru macht sich sorgen, weil alle 10 Jahre ein neuer raus kommt?

1998 erster Standard
2003 Nachbesserung des Standards
200x soll der nächste kommen. Herb Sutter _hofft_ spätestens 2009!!!Also, wer da Schwierigkeiten hat C++ hinterher zu kommen, sollte sich ein anderes Hobby suchen. Java und C# bekommen alle 2 Jahre eine neue Version! :p
-
Guter Punkt, C# hat mit .NET2 auch ein paar neue features bekommen. ( z.b. Iteratoren oder Generics ) die waren in C# 1 noch nicht drin in C#2.0 aber schon

-
Ein C/C++ Compiler lässt sich für gewöhnlich auch auf ältere Standards einstellen. Hier sind zum Beispiel die Dialekt-Einstellungen des GNU Compilers dokumentiert: http://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/C-Dialect-Options.html#C-Dialect-Options
-
schorsch code schrieb:
Ein C/C++ Compiler lässt sich für gewöhnlich auch auf ältere Standards einstellen. Hier sind zum Beispiel die Dialekt-Einstellungen des GNU Compilers dokumentiert: http://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/C-Dialect-Options.html#C-Dialect-Options
Mir ist genauso klar , das man bei compilern (zumindest bei gcc/g++ als Argument einen Standard auswählen kann)...aber trotzdem...
zzzsss... erst mal Thread durchlesen

-
Der Standard wird nicht aus Boshaftigkeit aktualisiert, sondern damit er nicht in der Bedeutungslosigkeit verschwindet. Denn die Implementationen werden natürlich weiterentwickelt, und wenn es keinen Standardisierungsprozess gibt, dann macht das eben Hersteller jeder für sich, nicht alle zusammen am runden Tisch. Wenn selbst das aufhört, ist C++ tot.
-
Naja. Solange C++ nur erweitert wird , und bereits vohandene Sachen nicht geändert bzw nicht "weggeworfen" werden , kann es mir ja egal sein....ich muss ja nicht jeder Neuerung folgen...es sei denn ich will...naja , zur Zeit bin ich mit diesem Standard zufrieden!

-
Da kannst du glaub ich unbesorgt sein. Die Standardleute machen sich jedesmal fast in die Hose wenn irgendeiner was neues vorschlägt und fangen erstmal an, vollkommen obskure Beispiele zu suchen, die dann nicht mehr funktionieren würden ...

-
Da bin ich aber beruhigt.

-
alex89ru schrieb:
Naja. Solange C++ nur erweitert wird , und bereits vohandene Sachen nicht geändert bzw nicht "weggeworfen" werden , kann es mir ja egal sein
Wie gesagt, einige Änderungen kann es schon geben. Gut möglich, dass zB das auto Schlüsselwort eine neue Bedeutung bekommt (oder wurde das mittlerweile wieder verworfen
). Dennoch, solche Sachen werden relativ überschaubar bleiben.
-
Was hat denn auto bisher für eine bedeutung?
Hab ich bisher nie benutzt.Aber laut Herb Sutters letzten Vortrag auf der MS PDC wird auto in den nächsten C++ Standard reinkommen. auto soll einfach Tipparbeit sparen, wenn der Compiler definitiv den Typ erkennen kann.
std::vector<int> b = foo(); // viel Tipparbeit, wobei es extremere Beispiele gibt. ;) b.push_back(100);kann man in Zukunft dann so schreiben:
auto b = foo(); b.push_back(100);
-
auto is'n trick um code unverständlicher zu machen.
-
Stimmt! Zum ersten Mal muss ich 9 recht geben.
So wie der code ausschaut wird der code nicht gerade eindeutig werden.
-
Was hat denn auto bisher für eine bedeutung?
Hab ich bisher nie benutzt.auto ist ne angabe wo ne Variable gespeichert werden soll - es gibt static, register usw. auto wird implizit Angenommen wenn du nichts anderes angibst
z. B.
auto int a;ist das gleiche wie
int a;
-
alex89ru schrieb:
Stimmt! Zum ersten Mal muss ich 9 recht geben.
So wie der code ausschaut wird der code nicht gerade eindeutig werden.Ok, reales Beispiel aus meinem derzeitigen Projekt:
template<size_t fieldSize> std::auto_ptr<std::bitset<fieldSize> > get(); ... auto_ptr<bitset<48> > foo = blubb.get<48>(); // versus auto foo = blubb.get<48>();Auch bei Iteratoren als Rückgabetypen merkt man eine deutliche Verkürzung, z.B. hatte ich mal etwa das hier:
std::multimap<std::string, Huffman<char> >::iterator iter = foo.begin(); // versus auto iter = foo.begin();
-
Artchi schrieb:
Was hat denn auto bisher für eine bedeutung?
Hab ich bisher nie benutzt.Lokale Variablen, die explizit mit auto gekennzeichnet sind, besitzen "automtic storage duration". Das tun lokale Variablen, die nicht explizit mit static oder extern gekennzeichnet sind aber sowieso. Deshalb brauchst du dich auch nicht wundern, wenn du auto noch nie verwendet hast. Es ist momentan mehr oder weniger nutzlos.
-
auto stammt aus den Anfangstagen von C, genauer gesagt aus B. Dort gab es überhaupt keine Datentypdeklarationen, alle Variablen waren 36-bit-Worte man hat nur die Speicherklasse angegeben:
auto i; static j;Dass man das in C übernommen hat, könnte mit der impliziten Annahme von int, wenn kein Datentyp angegeben wurde, zu tun haben. Vielleicht gabs in der ersten Version von C das Schlüsselwort int auch gar nicht, das wäre zumindest denkbar.
-
warum auto verwenden wenn es typedefs gibt??
dabei kann man auch Schreibarbeit sparren und man kann es aber trotzdem noch verstaendlich formulieren.
leo
-
leo aka qsch schrieb:
warum auto verwenden wenn es typedefs gibt??
dabei kann man auch Schreibarbeit sparren und man kann es aber trotzdem noch verstaendlich formulieren.
leo
Es gibt keine template-typedefs. Was es meistens nervig macht, immer und immer wieder ein typdef hinzuschreiben.