Suchergebnisse für Anfrage "template-meta-programming"

12 die antwort

Metaprograming: Fehler bei der Funktionsdefinition definiert eine separate Funktion

Imdiese Antwort [https://stackoverflow.com/a/30167800/2642059] Ich definiere eine Vorlage basierend auf dem @ des Tyis_arithmetic Eigentum template<typename T> enable_if_t<is_arithmetic<T>::value, string> stringify(T t){ return to_string(t); } ...

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 @ ...

2 die antwort

Ganzzahlige Folge von Zeichen aus benutzerdefinierten Literalen, die Zeichenfolgen als Parameter verwenden

erzeit können nur Doubles eine Zeichenvorlage in einem benutzerdefinierten Literal erzeugen: template <char...> double operator "" _x(); // Later 1.3_x; // OK "1.3"_y; // C++14 does not allow a _y user- // defined operator to parse that as a ...

TOP-Veröffentlichungen

12 die antwort

Vorlage basierend auf Laufzeitzeichenfolge in C ++ auswählen

Ich habe einen Attributvektor, der verschiedene Typen enthalten kann: class base_attribute_vector; // no template args template<typename T> class raw_attribute_vector : public base_attribute_vector; raw_attribute_vector<int> foo; ...

4 die antwort

Warum kann std :: tuple <int> nicht einfach kopiert werden?

Built withdieser Online-Compiler [http://ideone.com/8IGJmd], der folgende Code: #include <iostream> #include <type_traits> #include <tuple> int main() { std::cout << std::is_trivially_copyable<std::tuple<int>>::value << std::endl; std::cout << ...

6 die antwort

SFINAE, um die Basisvorlage zu erstellen, führt immer zu Fehler

So entwerfe ich eine Artmy_numeric_cast -Funktion zum Begrenzen der verfügbaren Konvertierungstypen bei Verwendung eines Frameworks, das ich schreibe. Es war ziemlich einfach, so etwas wie @ zu t template<typename To, typename From> constexpr ...

2 die antwort

Ist es möglich, eine Methode mit allen möglichen K-Kombinationen (mit Wiederholung) der in einem Tupel übergebenen Argumente aufzurufen?

Das gewünschte Verhalten kann wie folgt dargestellt werden: void foo(int x, int y) { std::cout << x << " " << y << std::endl; } int main() { all_combinations<2>(foo, std::make_tuple(1, 2)); // K = 2 // to run: // foo(1, 1) // foo(1, 2) // foo(2, ...