2012-12-10 7 views
17

Ich frage mich, warum so eine natürliche Sache wie static_if nicht geschafft, in C++ 11 zu bekommen? Einige Leute Einwände, dass Vererbung oder Template-Spezialisierung verwenden könnten wir gewünschte Ergebnisse erreichen ABER:Warum gibt es keine `static_if` in C++ 11

Warum haben wir nicht eine einfache static_if für einfache Situationen, wenn man nicht den Quellcode mit all dem aufblähen will?

+2

Welche Compiler verwenden Sie, die den toten Code in 'if (false) {...} else {...}' nicht entfernt? Oder meinst du den toten Code ist nicht gültig C++? – hvd

+0

Es gibt 'enable_if': http://en.cppreference.com/w/cpp/types/enable_if – SomeWittyUsername

+0

@hvd Was ist mit Variablendeklaration? – Cartesius00

Antwort

18

Ich nehme an, das Komitee hatte wenig Zeit, um dieses Feature zu diskutieren, also beschließen sie, es nach C++ 11 zu verzögern. Anyway Vorschlag ist hier: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3329.pdf

+0

Endlich eine Antwort, danke :) – Cartesius00

+0

@Martin Hast du gesehen [Statisch, wenn ich einen Hammer hätte] (http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Static-If-I-Had-a-Hammer)? Oder [Alexandrescu, Meyers, Sutter: Auf statischen Wenn, C++ 11 in 2012, Moderne Bibliotheken und Metaprogrammierung] (http://channel9.msdn.com/Shows/Going+Deep/Alexandrescu-Meyers-Sutter-On- Static-If-C11-2012-Moderne-Bibliotheken-und-Metaprogrammierung)? Wenn ich mich gut erinnere, wird Ihre Frage in letzterem beantwortet und es wird wahrscheinlich Teil eines zukünftigen C++ - Standards (statisch wenn als "Konzepte lite") sein. – Ali

+5

@Martin Sie klingen verärgert und haben innerhalb von 6 Minuten eine Antwort erhalten. –

Verwandte Themen