C++2009-Papers vom Oxford-Meeting
-
Nachdem im April das C++ Komitee in Oxford getagt hat, sind endlich die ganzen Dokumente online!
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/#mailing2007-05Der C++2009 Draft ist zwar noch nicht erschienen (erst gegen Ende des Jahres ist dieser glaub ich fertig), aber man kann sich trotzdem den Zwischenstand des in Arbeit befindlichen Drafts anschauen:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2284.pdf
Darin findet man viele Dinge aus dem TR1, was doch endlich den C++-Standard größer und netter aussehen lässt.Schön das man endlich in C++ sowas wie Regex findet.
Ist doch gleich ein ganz anderes Gefühl, oder?! 
Auch solche Neuerungen wie, das der fstream-Konstruktor endlich auch std::string als Filenamen annimmt und man nicht immer ein char* übergeben muß, machen die Sache doch schon richtig rund.
Auch eine Rundom Number Engine bietet endlich mehr als diese rand()-Funktion aus der C-Library.
Was ich auch interessant finde, ist der System error Support. Die Errorcodes richten sich nach POSIX, zumindest heißt das Enum posix_errno. Diese sind aber für Lowlevel-Fehlerbehandlung gedacht.
Lokale Klassen gehen ja bekanntlich. Weiß jemand ob Nested Classes bisher möglich waren? Die sind zumindest aufgeführt.
Garbage Collection soll bekanntlich in den C++2009-Standard rein kommen. Symantic hat ein Proposal eingereicht, mit ein paar hilfreichen Infos und Erfahrungswerten:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2286.pdf
So wie ich es verstanden habe, machen die gerade eine GC-Implementierung in den GCC zu July fertig.
-
Also Nested Classes waren imho bisher auch möglich. (zumindest die manche Compiler unterstützen es, ka ob es auch so im Standard definiert war).
Aber der GC bleibt hoffentlich nur eine Option oder?
-
Was soll an verschachtelten und lokalen Klassen so besonders sein? Die gibts doch schon immer. Was man ändern könnte ist, dass lokale Klassen nur internal linkage haben und dann nicht als Template Argument nutzbar sind.
Naja ich guck mir das heute abend mal an.
-
Bashar! Ob es besonders ist oder nicht, meinte ich nicht. Ich wusste halt nicht, das es in C++ auch schon Nested Classes gab. Mehr nicht! Wenns die schon seit 1998 gab: gut, dann vergiss meinen Satz und ich bin jetzt informiert.
phlox81! Ja, ist definitiv optional. Man wird in Zukunft dann explizit angeben müssen ob man ihn haben will oder nicht. Anders wird das auch nicht möglich, da sonst bisherige C++-Projekte nicht laufen würden, wenn der GC immer da wäre. Werden wahrscheinlich eh erstmal nur die wenigsten benutzen, da mit den neuen Smart-Pointern ja auch Alternativen da sind.
-
Artchi schrieb:
Werden wahrscheinlich eh erstmal nur die wenigsten benutzen, da mit den neuen Smart-Pointern ja auch Alternativen da sind.
Da wäre ich mir ehrlich gesagt gar nicht so sicher.
-
Artchi schrieb:
Schön das man endlich in C++ sowas wie Regex findet.
Ist doch gleich ein ganz anderes Gefühl, oder?! 
Naja. Ich denke ich werde mit C++0x auch Boost nutzen. Von daher ist mir das nicht so wichtig

Auch solche Neuerungen wie, das der fstream-Konstruktor endlich auch std::string als Filenamen annimmt und man nicht immer ein char* übergeben muß, machen die Sache doch schon richtig rund.
Das ist auch eher eine Kleinigkeit (gut, dann wird c_str eben zwei Ebenen tiefer aufgerufen :))
Was ich auch interessant finde, ist der System error Support. Die Errorcodes richten sich nach POSIX, zumindest heißt das Enum posix_errno. Diese sind aber für Lowlevel-Fehlerbehandlung gedacht.
Das hört sich interessanter an. Muss ich mir mal genauer anschauen. Dann kann man hoffentlich endlich die Standard APIs mit den POSIX Fehlermeldungen kombinieren. (zB wenn man wissen will warum die Datei nicht öffnet)
So wie ich es verstanden habe, machen die gerade eine GC-Implementierung in den GCC zu July fertig.
Hui. Wie es ausschaut werden wir diesmal wohl nicht solange auf konforme Compiler warten müssen. Der GCC wird wohl relativ schnell die meisten Features unterstützen können (einige Sachen wird schon der 4.3er können und Concepts gibt es auch schon. Die werden wohl übernommen sobald die finale Version im Standard ist. Wenn es dann schon im Juli die GC-Implementierung gibt :))
Ist nur die Frage ob zB Microsoft C++0x überhaupt unterstützen wird. Die haben ja mit C++/CLI ihr eigenes C++ raus gebracht. Glaube nicht, dass die wirklich an C++0x interessiert sind.
Gut die EDG Leute (und damit auch ICC, Comeau etc) und Dinkumware werden C++0x sicher unterstützen.
-
Ist nur die Frage ob zB Microsoft C++0x überhaupt unterstützen wird. Die haben ja mit C++/CLI ihr eigenes C++ raus gebracht. Glaube nicht, dass die wirklich an C++0x interessiert sind.
MS bzw. ihre Mitarbeiter sind im C++ Komitee und Herb Sutter (C++ Chief Architect bei MS) ist sogar Komitee-Vorsitzender. Weiterhin sponsert MS regelmäßig die Komitee-Meetings in Redmond. Z.B. hat das Adhoc-Meeting bzgl. C++-Threads im letzten Herbst bei MS stattgefunden. MS hat größere Beteiligung und somit Interesse an natives C++, als die meisten hier anscheinend vermuten.
Das einzige was MS tatsächlich nicht anbieten wird, ist TR1 im kommenden MSVC.
-
Hört sich ja gar nicht mal schlecht an: [url]http://herbsutter.spaces.live.com/Blog/cns!2D4327CC297151BB!214.entry[/url]