Der neue C++ Standard
-
Hey Leute,
ich habe mal eine Frage, wann erscheint denn nun der neue C++ Standard?Da wir doch schon im Jahre 2010 sind, kann er ja wohl nicht mehr C++0x heißen oder? Ok, außer x ist eine Hex Zahl:D
Was mich auch mal interessiert, der jetztige Standard ist doch C++98 oder?
Kann mir das mal jemand erklären, weil 2003 war doch auch irgendetwas oder?
Und dann war doch da noch sowas mit nem Technical Report? Was ist das?Hoffe ihr könnt mir die Fragen beantworten und schonmal vielen Dank
gruß freeG
-
fr33g schrieb:
Was mich auch mal interessiert, der jetztige Standard ist doch C++98 oder?
Kann mir das mal jemand erklären, weil 2003 war doch auch irgendetwas oder?
Und dann war doch da noch sowas mit nem Technical Report? Was ist das?Ja, der aktuelle (und auch erste) C++ Standard ist von 1998, und wurde mit dem TR1 2003 erweitert. Ein Technical Report ist im wesentlichen das hinzufügen kleinerer Ergänzungen und ein Vorgriff auf den nächsten Standard.
fr33g schrieb:
ich habe mal eine Frage, wann erscheint denn nun der neue C++ Standard?
Da wir doch schon im Jahre 2010 sind, kann er ja wohl nicht mehr C++0x heißen
Er wird dennoch von vielen weiterhin C++0x genannt, und man geht davon aus, das er 2011 verabschiedet wird. Wobei einiges schon in spätere TRs verschoben wurden ist.
-
asc schrieb:
fr33g schrieb:
Was mich auch mal interessiert, der jetztige Standard ist doch C++98 oder?
Kann mir das mal jemand erklären, weil 2003 war doch auch irgendetwas oder?
Und dann war doch da noch sowas mit nem Technical Report? Was ist das?Ja, der aktuelle (und auch erste) C++ Standard ist von 1998, und wurde mit dem TR1 2003 erweitert. Ein Technical Report ist im wesentlichen das hinzufügen kleinerer Ergänzungen und ein Vorgriff auf den nächsten Standard.
Nicht ganz. 2003 erschien der Standard C++03, es war eine Korrektur des 1998 Standards. Der TR1 erschien im Jahr 2006.
Grüssli
-
Auf was wartet ihr den, was im neuen Standard inkludiert werden sollte?
Das Einzige was mir persönlich schmecken würde ist "delegate constructors", dann muss ich nicht immer eine Init funktion schreiben.
-
asc schrieb:
fr33g schrieb:
Was mich auch mal interessiert, der jetztige Standard ist doch C++98 oder?
Kann mir das mal jemand erklären, weil 2003 war doch auch irgendetwas oder?
Und dann war doch da noch sowas mit nem Technical Report? Was ist das?Ja, der aktuelle (und auch erste) C++ Standard ist von 1998, und wurde mit dem TR1 2003 erweitert. Ein Technical Report ist im wesentlichen das hinzufügen kleinerer Ergänzungen und ein Vorgriff auf den nächsten Standard.
fr33g schrieb:
ich habe mal eine Frage, wann erscheint denn nun der neue C++ Standard?
Da wir doch schon im Jahre 2010 sind, kann er ja wohl nicht mehr C++0x heißen
Er wird dennoch von vielen weiterhin C++0x genannt, und man geht davon aus, das er 2011 verabschiedet wird. Wobei einiges schon in spätere TRs verschoben wurden ist.
Sorry aber das checke ich grad net, was soll verabschiedet heißen? Der muss doch erst mal kommen
?Heißt vieles was geplant wurde wird nicht gleich drin erhalten sein sondern erst später mit TRs erweitert?
Dravere schrieb:
asc schrieb:
fr33g schrieb:
Was mich auch mal interessiert, der jetztige Standard ist doch C++98 oder?
Kann mir das mal jemand erklären, weil 2003 war doch auch irgendetwas oder?
Und dann war doch da noch sowas mit nem Technical Report? Was ist das?Ja, der aktuelle (und auch erste) C++ Standard ist von 1998, und wurde mit dem TR1 2003 erweitert. Ein Technical Report ist im wesentlichen das hinzufügen kleinerer Ergänzungen und ein Vorgriff auf den nächsten Standard.
Nicht ganz. 2003 erschien der Standard C++03, es war eine Korrektur des 1998 Standards. Der TR1 erschien im Jahr 2006.
Grüssli
Sprich der aktuelle Standard ist der C++03, welcher mit dem TR1 2006 erweitert wurde, was schon ein kleiner Vorgriff auf den C++0x war?
Wird sich denn viel ändern bzw neues dazu kommen?`
Gruß freeG und schonmal danke
-
darkfate schrieb:
Auf was wartet ihr den, was im neuen Standard inkludiert werden sollte?
Das Einzige was mir persönlich schmecken würde ist "delegate constructors", dann muss ich nicht immer eine Init funktion schreiben.Die Liste ist endlos.
fr33g schrieb:
Sorry aber das checke ich grad net, was soll verabschiedet heißen? Der muss doch erst mal kommen
?Schau dir mal die zweite Bedeutung an:
http://de.wiktionary.org/wiki/verabschiedenfr33g schrieb:
Sprich der aktuelle Standard ist der C++03, welcher mit dem TR1 2006 erweitert wurde, was schon ein kleiner Vorgriff auf den C++0x war?
Ja. Wobei der Vorgriff nur im Sinne von ein paar Bibliotheken mit der aktuellen Syntax bedeutet. Und diese Bibliotheken befinden sich im Namensraum
std::tr1. Und nicht zuletzt ist der TR1 absolut freiwillig. Man entspricht also dem C++ Standard, auch wenn man den TR1 nicht unterstützt.fr33g schrieb:
Wird sich denn viel ändern bzw neues dazu kommen?
Die Liste ist endlos. Wunderbar, somit wäre der Kreis geschlossen. Meine ehemalige Deutschlehrerin wäre stolz auf mich

Eine ziemlich grosse Zusammenfassung findet man auf der englischen Wikipedia:
http://en.wikipedia.org/wiki/C%2B%2B0xIch weiss allerdings nicht, ob sie auch vollständig ist.
Grüssli
-
asc schrieb:
Ja, der aktuelle (und auch erste) C++ Standard ist von 1998, und wurde mit dem TR1 2003 erweitert. Ein Technical Report ist im wesentlichen das hinzufügen kleinerer Ergänzungen und ein Vorgriff auf den nächsten Standard.
Neee... Aktuell ist C++03, welches C++98 mit dem TC1 (technical corrigendum) vereint. Das sind aber nur kleine Änderungen und "Bugfixes" gewesen und nicht wirklich der Rede wert. TR1 ist nur eine Art Empfehlung und aktuell kein Bestandteil des C++ ISO Standards. Vieles von TR1 wird allerdings in C++0x in einer etwas aufgepeppten Version hinzugefügt.
-
fr33g schrieb:
Sprich der aktuelle Standard ist der C++03
[haarspalt]Das "Technical Corrigendum 1" aus dem Jahre 2003 gilt nicht als eigener Standard, da im Wesentlichen nichts geändert wurde, sondern nur kleinere Fehler korrigiert und Unklarheiten beseitigt.[/haarspalt]
Jo, man spricht von C++03.
@darkfate:
Da gibt's einige Dinge die ich schon länger (mehr oder weniger stark) vermisse ...
* auto
* decltype, std::result_of
* variadic templates
* std::thread
* constexpr
* range-based for-loop
* [[base_check]]
* enum class
* multitasking memory model
* thread-local storage
* static assertions
* sizeof(T::member)
* tuples
* hash tables
* smart pointersUnd auch einiges das ich erst vermisse seit ich davon gehört habe dass es kommen soll, wie z.b.
* r-value referenzen
* lambda expressions
-
Hier ist der Current Draft: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3090.pdf
-
+571 Seiten

-
Ich kann mich hustbaer weitgehend anschliessen, was Vorfreuden auf C++0x betrifft. Wobei ich einige Innovationen gar noch nicht gekannt habe und ein paar Bibliotheksmittel bereits jetzt nutze.
Was mir sehr gefällt, ist dass man statt
enum classauchenum structschreiben darf. Ich werde wohl nur Letzteres verwenden, da es meines Erachtens begrifflich besser passt (mit einer Klasse hat eine Enumeration rein gar nichts zu tun, Struktur ist da schon freier interpretierbar).
-
Ich verwende auch bereits einige Implementierungen/Workarounds aus der Boost, wie z.B. thread, tuple, shared_ptr, BOOST_FOR_EACH oder BOOST_STATIC_ASSERT.
Freu mich aber trotzdem dass die nun - in gleicher oder ähnlicher Form - mit in den Standard kommen.
-
hustbaer schrieb:
* variadic templates
* std::thread
* multitasking memory model
* thread-local storageWas wird denn da zum Standard ernannt? Posix?
Da fällt mir noch ein dass ich auch mal variadic templates vermisst habe.
-
darkfate schrieb:
hustbaer schrieb:
* variadic templates
* std::thread
* multitasking memory model
* thread-local storageWas wird denn da zum Standard ernannt? Posix?
Du meinst pthreads? Nein. Was da "zum Standard ernannt wird" ist eine C++ Schnittstelle für solche Sachen, welche sich an Boost.Thread anlehnt.
http://www.youtube.com/watch?v=ZAG5txfYnW4