[Vergeben] Variadic Templates u.a. aus C++0x
-
Ich lese immer wieder was von Variadic Templates im kommenden C++-Standard. Auch sowas wie constexpr sehe ich immer wieder.
Wer weiß was es damit auf sich hat und könnte dazu etwas schreiben?
-
Vorangehend wäre ein Artikel der die ganzen Neuerungen (zumindest kurz) anspricht sicher auch sehr interessant.
-
Die sichersten Infos wirst du wahrscheinlich von hier kriegen:
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/
-
Bisher:
#include <iostream> using namespace::std; void print() { } template<class T1> void print(T1 a1) { cout << a1 << endl; } template<class T1, class T2> void print(T1 a1, T2 a2) { cout << a1 << endl; cout << a2 << endl; } template<class T1, class T2, class T3> void print(T1 a1, T2 a2, T3 a3) { cout << a1 << endl; cout << a2 << endl; cout << a3 << endl; }
Variadic Templates
void print() { } template<class T, class... U> void print(T a1, U... an) { cout << a1 << newline; print(an...); }
Quelle:
http://www.digitalmars.com/d/variadic-function-templates.html
http://www.osl.iu.edu/~dgregor/cpp/variadic-templates.pdf
-
Ben04 schrieb:
Die sichersten Infos wirst du wahrscheinlich von hier kriegen:
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/Naja, ist doch aber alles ziemlich trocken verfasst. So ein Artikel, wie die bisherigen im Magazin, wäre schon anders zu lesen.
-
Der Inhalt muss aber richtig sein und da ist das die einzig halbwegs verlässliche Quelle.
Ich hab ja nicht gesagt, dass ich gegen solch einen Artikel bin aber dennoch sollten sie als Quelle dienen. Un die Dokumente welche sich nicht mit der Formulierung des Standards beschäftigen sind auch nicht so trocken.
-
hm, so einen artikel zu schreiben, würde mich schon interessieren.
nur, was sollte hineinkommen? variadic templates sind sicher interessant, aber bei weitem nicht das einzige neue feature. und wenn man dann "schnell noch" concept/concept_maps mit reinnimmt, man anfängt über rvalue-referenzen zu sprechen, ... das könnte viel werden.und das nur von der sprache selbst. allein schon die neue multithreading-bibliothek wäre ein eigener artikel wert (oder mehrere)...
ein besinnen auf features, die schon implementiert sind?
siehe: http://gcc.gnu.org/gcc-4.3/cxx0x_status.html
static_assert, right-angle brackets, rvalue-references, variadic templates (mit ausnahme eines problems mit spezialisierungen bei variadic template-templates, aber das problem ist dem kommittee erst vor kurzen bekannt geworden) - der text würde sich in grenzen halten.oder ein überblick über wichtige neuigkeiten inklusive code-beispiel? (sicher auch ganz lustig)
-
Ich finde es eine gute Idee sich auf bereits implementierte Features zu beschränken. Da kann man dann wenigstens auch mit herum spielen.
Wenn man das ausführlich mit allen Details macht dann wird das reichlich für mindestens einen Artikel reichen.
Ich würde folgende Themen vorschlagen:
- Variadic Templates mit Implementierung eines typsicheren printf und eines boost::variant ähnlichen Typ
- Rvalue-referenzen mit std::move und mindestens dem swap Beispiel
auto würde ich raus lassen da viele Anwendungsfälle besser von der neuen noch nicht implementierten for Schleife gelöst werden.
-
ich probiere mich gerade an variants über variadic templates. funktioniert ganz gut soweit.
schön wäre es aber erst dann, wenn man konstruktoren von basisklassen per using einführen könnte. (bald, bald
)
-
Ben04 schrieb:
Wenn man das ausführlich mit allen Details macht dann wird das reichlich für mindestens einen Artikel reichen.
für *zumindest* einen artikel, ja.
zunächst einen artikel zur einführung zu den ``größten'' neuerungen zu schreiben wäre sicher auch nicht verkehrt (und anschließend daran jeweils details zu einzelnen, bereits implementierten features)ich kann da gerne mal den anfang machen mit einem überblick und danach variadic templates und rvalue references. (also zwei artikel)
wie vorgehen? einfach mail an redaktion@c-plusplus.net?
-
Wilkommen im Team.
Ja einfach eine Mail dahin schicken. (Es muss nicht viel Content in der Mail sein, es geht primär um deine Adresse.) estartu und GPC kümmern sich dann um den Rest.
Zum Thema zwei Artikeln : Ich würde lieber mal einen fertig machen, wenn du danach noch Zeit & Lust hast kannst du auch gerne den anderen machen. Erfahrungsgemäß wird da aus einem der beiden leider nix. Wenn du aber meinst du würdest das schaffen ist es natürlich auch kein Problem den anderen frei zu halten.
-
Ben04 schrieb:
Zum Thema zwei Artikeln : Ich würde lieber mal einen fertig machen, wenn du danach noch Zeit & Lust hast kannst du auch gerne den anderen machen. Erfahrungsgemäß wird da aus einem der beiden leider nix. Wenn du aber meinst du würdest das schaffen ist es natürlich auch kein Problem den anderen frei zu halten.
ja, ich meinte natürlich nicht gleichzeitig, sondern zuerst mal einen schönen überblick und dann sieht man ja weiter
mail ist unterwegs.