Suchergebnisse für Anfrage "typetraits"

12 die antwort

Verwenden von C ++ 11-Typmerkmalen, um alternative Inline-Implementierungen bereitzustellen

Ist das folgende Codemuster sinnvoll, wenn Merkmale in Vorlagencode verwendet werden, bei denen beide alternativen Implementierungen immer kompilierbar sind? Das Lesen des Codes scheint klarer zu sein als das bedingte Kompilieren ...

4 die antwort

Überprüfen Sie, ob in C ++ zwei Typen gleich sind

Wie überprüfe ich, ob Typen in C ++ 11 gleich sind? std::uint32_t == unsigned; //#1Und ein weiteres Snippet template<typename T> struct A{ string s = T==unsigned ? "unsigned" : "other"; }

2 die antwort

std :: common_type Merkmal für benutzerdefinierte Typen

Seit C ++ 11 das Typmerkmalstd::common_type wurde vorgestellt.std::common_type bestimmt den gemeinsamen Typ aller Vorlagenargumente. In C ++ 14 ist sein Hilfstypstd::common_type_t wurde auch eingeführt, um Code zu erstellen, der ...

TOP-Veröffentlichungen

2 die antwort

T declval () anstelle von T && declval () für common_type

Ist es nicht besser, @ zu verwendstd::declval in Form deklariert: template< class T > T declval(); // (1) dann aktuelle: template< class T > T && declval(); // (2)zumstd::common_type (möglicherweise nur für diesen aktuellen Zweck mit einem ...

6 die antwort

Prüfen, ob ein Sequenzcontainer im Speicher zusammenhängend ist

Gibt es eine Möglichkeit zu überprüfen, ob ein Sequenzcontainer im Speicher zusammenhängend ist? Etwas wie #include <iostream> #include <vector> #include <deque> #include <array> int main() { std::cout << std::boolalpha; std::cout ...

2 die antwort

Wie überprüfe ich, ob T ein Aggregattyp ist?

Ich weiss Bescheidstd::is_pod. Es werden jedoch mehr als nur Aggregattypen geprüft. Oder iststd::is_pod nur das Beste, was wir tun können? rundsätzlich möchte ich eine Funktionsvorlage für @ ...

4 die antwort

Prüfen Sie, ob ein Typ im variadischen Vorlagenparameterpaket übergeben wird.

Ich habe irgendwo gehört, dass es mit der neuen C ++ 1z-Syntax wirklich einfach ist, zu überprüfen, ob ein Typ im variadischen Vorlagenparameterpaket übergeben wird - anscheinend können Sie dies mit Code tun, der fast eine Zeile lang ist. Ist ...

4 die antwort

ann ist ein Lambda trivia

Wann ist ein Lambda garantiert trivial, wenn überhaupt? Ich nahm an, dass es trivial wäre, wenn es nur Trivialtypen oder gar nichts erfasst. Ich habe keine Standard-ese, um das zu sichern. Meine Motivation bestand darin, Code von Visual C ++ ...

10 die antwort

Warum gibt es kein Merkmal vom Typ std :: is_struct?

Ich habe das gesehen, um zu prüfen, ob ein TypT ist eine Klasse, die ich benutzen kann: bool isClass = std::is_class<T>::value;It gibt sowohl für Klassen als auch für Strukturen true zurück. Ich weiß, dass sie in C ++ fast dasselbe sind, aber ...

6 die antwort

Template-Funktion, die nur bestimmten Typen entspricht?

Ich möchte eine Funktionsvorlage definieren: template<typename T> void foo(T arg)Aber ich möchteT, um nur bestimmten Typen zu entsprechen. InsbesondereT sollte (möglicherweise durch Mehrfachvererbung) von einer bestimmten Basisklasse abgeleitet ...