Tag: specialization

Ein leistungsfähiges Merkmal von C++ – templates ist `template-Spezialisierung. Dies ermöglicht alternative Implementierungen zur Verfügung gestellt werden, basierend auf bestimmten Eigenschaften der parametrisierten Typ wird instanziiert. Template Spezialisierung hat zwei Zwecke: um bestimmte Formen der Optimierung und code zu reduzieren aufblasen.

Funktion template-Spezialisierung mit Referenz auf Zeiger

Anzahl der Antworten 2 Antworten
Habe ich eine template-Funktion: template<typename T> void foo(const T& value) { bar(value); x = -1; } Ich spezialisieren will, ist es für eine Reihe von Typen: template<> void foo<char>(const char& value) { bar(value); x = 0; }

template Spezialisierung der template-Klasse

Anzahl der Antworten 2 Antworten
Ich spezialisieren will, folgende member-Funktion: class foo { template<typename T> T get() const; }; Anderen Klasse bar das hängt davon ab, Vorlagen sowie. Zum Beispiel, ich möchte bar zu std::pair mit einigen template-Parameter, sowas wie das: template<>

C++ einzelnen template-Spezialisierung mit mehreren template-Parametern

Anzahl der Antworten 3 Antworten
Hallo! Ich sich spezialisieren möchten nur eines der beiden template-Typen. E. g. template <typename A, typename B> class X sollte eine spezielle Umsetzung für eine einzelne Funktion X<float, sometype>::someFunc(). Beispielcode: main.h: #include <iostream> template <typename F, typename

Spezialisierung der Vorlage nach der Instanzierung?

Anzahl der Antworten 5 Antworten
Mein vollständiger code ist zu lang, aber hier ist ein snippet, dass spiegeln die Essenz der mein problem: class BPCFGParser { public: ... ... class Edge { ... ... }; class ActiveEquivClass { ... ... }; class

C++ - template-Spezialisierung-Konstruktors

Anzahl der Antworten 6 Antworten
Ich habe eine Vorlagen-Klasse A<T, int> und zwei typedefs Ein<string, 20> und Eine<string, 30>. Wie kann ich das überschreiben der Konstruktor für Eine<string, 20> ? Der folgende Code funktioniert nicht: template <typename T, int M> class A;

Template Spezialisierung bestimmter Mitglieder?

Anzahl der Antworten 2 Antworten
Ist es möglich, sich zu spezialisieren, insbesondere die Mitglieder der template-Klasse? So etwas wie: template <typename T,bool B> struct X { void Specialized(); }; template <typename T> void X<T,true>::Specialized() { ... } template <typename T> void X<T,false>::Specialized()

Vorlage-Klasse in der Klasse-Vorlage in c++

Anzahl der Antworten 6 Antworten
noob hier noch am Experimentieren mit Vorlagen. Beim schreiben einer Nachricht, die Verarbeitung Klasse Vorlage template <typename T> class MessageProcessor { //constructor, destructor defined //Code using t_ and other functions foo( void ) { //More code in

Template Spezialisierung für eine Funktion ohne Parameter

Anzahl der Antworten 3 Antworten
Ich brauche, um sich zu spezialisieren, ein Funktions-template in c++. template<typename T> void doStuff<T>() {} Zu template<> void doStuff<DefinedClass>(); und template<> void doStuff<DefinedClass2>(); Ich denke, das ist nicht die richtige syntax (da es nicht kompilieren). Wie sollte

Die Auswahl einer member-Funktion mit verschiedenen enable_if Bedingungen

Anzahl der Antworten 5 Antworten
Ich bin versucht zu ermitteln, welche version einer member-Funktion aufgerufen wird, basiert auf dem class-template-parameter. Ich habe dies ausprobiert: #include <iostream> #include <type_traits> template<typename T> struct Point { void MyFunction(typename std::enable_if<std::is_same<T, int>::value, T >::type* = 0) {

statische member-Initialisierung für spezialisierte template-Klasse

Anzahl der Antworten 3 Antworten
class A { }; template <typename A, int S> class B { public: static int a[S]; B() { a[0] = 0; } }; template<> int B<A, 1>::a[1]; int main() { B<A, 1> t; t; } Kompiliert unter

Template Spezialisierung einer einzigen Methode aus einer Vorlage gebildete Klasse

Anzahl der Antworten 4 Antworten
Immer unter Berücksichtigung, dass der folgende header, mit meiner einer Vorlage gebildete Klasse enthalten ist, die in mindestens zwei .CPP Dateien, die in diesem code richtig kompiliert: template <class T> class TClass { public: void doSomething(std::vector<T> *

Template-Spezialisierung basierend auf der Klasse erben

Anzahl der Antworten 4 Antworten
Möchte ich diese spezielle w/o ändern der main. Ist es möglich sich zu spezialisieren, etwas, was sich auf Ihrer Basis-Klasse? Ich hoffe, dass so. -Bearbeiten- Werde ich habe mehrere Klassen, die Erben von SomeTag. Ich will nicht

explizite Spezialisierung der Template-Klassenmitgliedsfunktion

Anzahl der Antworten 2 Antworten
Ich brauche, um sich zu spezialisieren Vorlage-Memberfunktion für einige Typ (sagen wir mal Doppel -). Es funktioniert gut, während die Klasse X selbst ist keine template-Klasse, aber wenn ich es Vorlage GCC beginnt, geben compile-Zeit-Fehler. #include <iostream>