Welche C++11 Features verwendet ihr häufig?
-
Welche C++11 Features verwendet ihr häufig?
-
static_assert
nullptr
-
range based for loops
-
move (<- Mit großem Abstand vor allem anderen)
Und dann so ziemlich alles was VS 2013 unterstützt: Lambdas, auto, static_assert, nullptr, variadic templates, ...
-
Nichts, außer zum Üben, da vom Chef verboten.
-
auto, lambdas, nullptr
Edit:
ging vergessen: range based for-loop
-
Och, ich bediene mich da hier und da Dingen, von denen ich weiß, dass die populären Compiler, die vor 2 Jahren aktuell waren, das schon konnten. Das ist so meine persönliche Schmerzgrenze. Wenn das Teil älter als 2 Jahre ist, kann ich erwarten, dass man sich 'ne aktuellere Version installiert.
&&
(aber nicht als Ref-Qualifier)
auto
decltype
->
(late-specified return type)
static_assert
std::enable_if
und was sonst noch so in<type_traits>
drin ist
std::unique_ptr
std::shared_ptr
std::tuple
std::unordered_map
LambdasAber das kann ich mir auch erlauben, weil wir ein sehr kleines Team in einer Forschungseinrichtung sind, dessen Software hauptsächlich "in-house" genutzt wird. Die Hauptsache ist, dass man das für Windows und Linux kompiliert bekommt.
-
constexpr
nullptr
Variadic Templates
Move-Semantics
Lambdas
override
Delegating ConstructorsManchmal auch decltype und auto.
Edit: Und std::initializer_list (sehr praktisch)
-
So ziemlich alles, da kann man auflisten:
- inheriting / delegating ctorsnullptr
,static_assert
- alles aus allen Bibliotheksheadern, falls benötigt.
- variadic templates, perfect forwarding mit URefs
- Move-Semantik natürlich
- Und das öfteste:auto
als type-specifier, auch evt.decltype(auto)
.
- Selbstverständlich range-based for, das ist eine Augenweide.
- Noch viel weiteres.
Und was benutzt ihr aus C++1y?
-
Singender Holzkübel schrieb:
Und std::initializer_list (sehr praktisch)
Wofür denn das?
-
Arcoth schrieb:
Singender Holzkübel schrieb:
Und std::initializer_list (sehr praktisch)
Wofür denn das?
ich vermute, damit er seine eigenen klassen wie aggregate initialisieren kann.
-
Arcoth schrieb:
Singender Holzkübel schrieb:
Und std::initializer_list (sehr praktisch)
Wofür denn das?
Diverse Initialisierungen.
Arcoth schrieb:
Und was benutzt ihr aus C++1y?
constexpr
-
Arcoth schrieb:
Und was benutzt ihr aus C++1y?
Nichts.
Aber ich freue mich schon ein bisschen auf polymorphe Lambdas und Return-Type Deduction für "normale" Funktionen. Letzteres ist ja besonders für Template-lastigen Code interessant. Damit könnte ich mir hier z.B. die nervigen "->decltype(...)" sparen.
-
Singender Holzkübel schrieb:
Arcoth schrieb:
Und was benutzt ihr aus C++1y?
constexpr
das gibt es schon in c++11.
-
Gibts da eigentlich irgendwo eine nette Übersicht für C++1Y Features?
-
asfdlol schrieb:
Singender Holzkübel schrieb:
Arcoth schrieb:
Und was benutzt ihr aus C++1y?
constexpr
das gibt es schon in c++11.
Ja, aber nicht so!
-
Ich liste hier nur die am häufigsten benutzten C++11-Features auf.
Sprache: Lambda-Ausdrücke,
auto
, Range-Based For, Move-Semantik,nullptr
Bibliothek:
function
,unique_ptr
-
Lambda, move, forward, auto, range based for, sämtliche neuen Methoden von Containern sowie neue Algorithmen, unique_ptr, shared_ptr (eigentlich nur bei dem einen Projekt), nullptr.
-
nullptr ist einfach toll, lambdas und diverse neue Container-Funktionen. Der Rest taucht mal so hin und wieder auf, wenn ich merke dass man manche Dinge mit C++11 Features übersichtlicher/schneller/schöner/besser lösen kann.^^
-
Sprache: Move-Semantic, auto, variadic templates
Library: unique_ptr, hashmapsWas ich nicht oder äusserst selten verwende:
initializer_list, shared_ptr, foreach (wozu?), Encoding-Facetten.Was ich aus C++14 vermisse:
Return-Type-Deduction, polymorphe Lambdas und Concepts.