Suchergebnisse für Anfrage "typetraits"
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 ...
Ü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"; }
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 ...
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 ...
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 ...
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 @ ...
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 ...
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 ++ ...
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 ...
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 ...