Tag: template-specialization

Template-Spezialisierung bezieht sich auf Programmierer generierte explizite Spezialisierung von templates für bestimmte Arten.

Warum sind nicht-template-Spezialisierungen erlaubt sein, in verschiedenen namespaces?

Anzahl der Antworten 3 Antworten
Bitte, sehen, was ich zu tun versuche: #include <iostream> namespace first { template <class T> class myclass { T t; public: void who_are_you() const { std::cout << "first::myclass"; } }; } namespace second { using first::myclass; template

c++ template-Spezialisierung - linker-Fehler mehrere Definitionen

Anzahl der Antworten 1 Antworten
Meine Dritte Frage heute hier ;-), aber ich bin wirklich neu in c++ template-Programmierung und operator-überladen. Ich versuche die folgende: terminallog.hh //snipped code class Terminallog { public: Terminallog(); Terminallog(int); virtual ~Terminallog(); template <class T> Terminallog & operator<<(const

Funktion Vorlage Spezialisierung kompilieren Fehler

Anzahl der Antworten 2 Antworten
##A.hh template<class T> void func(T t) {} template<> void func<int>(int t) {} void func2(); ##A.cpp void func2() {} ##main.cpp func("hello"); func(int()); Den Fehler bekomme ich: error LNK2005: "void __cdecl func(int)" (??$func@H@@YAXH@Z) bereits in A. obj, eine oder

"Vorlage<>" vs "Vorlage" (ohne Klammern) - was ist der Unterschied?

Anzahl der Antworten 2 Antworten
Glaube, ich habe erklärt: template <typename T> void foo(T& t); Nun, was ist der Unterschied zwischen template <> void foo<int>(int& t); und template void foo<int>(int& t); semantisch? Und tun-Vorlage-mit-Nein-Klammern-und-Vorlage-mit-leeren-Klammern haben andere Semantik in anderen Kontexten? in Bezug

enable_if Methode Spezialisierung

Anzahl der Antworten 2 Antworten
template<typename T> struct A { A<T> operator%( const T& x); }; template<typename T> A<T> A<T>::operator%( const T& x ) { ... } Wie kann ich enable_if folgende Spezialisierung passieren für jeden floating-point-Typ (is_floating_point)? template<> A<float> A<float>::operator%( const

Java Generics, Unterstützung "Spezialisierung"? Konzeptionelle ähnlichkeiten zu C++ - Templates?

Anzahl der Antworten 3 Antworten
Weiß ich ganz ein bisschen wie zu verwenden C++-Templates -- kein Experte, wohlgemerkt. Mit Java Generics (und Scala, für diese Angelegenheit), habe ich meine Schwierigkeiten. Vielleicht, weil ich zu übersetzen versuchen meine C++ Kenntnisse in der Java-Welt.

Syntax für die Spezialisierung der geschachtelten template-Klasse

Anzahl der Antworten 3 Antworten
Ich versuche, herauszufinden, die richtige syntax für die explizite Spezialisierung von einem verschachtelten template-Klasse. Der folgende code besser zu veranschaulichen: struct Column_Major; struct Row_Major; template<size_t rows, size_t cols, typename T, typename Allocator> class Matrix { /* bunch

Spezialisierungen nur für C++ template-Funktion mit enum-nicht-Typ template-parameter

Anzahl der Antworten 3 Antworten
Diese Frage ist in Bezug auf diese eine der Ausnahme, dass anstatt sich mit typename template Parameter, ich bin versucht, eine enum-nicht-Typ template-parameter. Ist es möglich, ein-und Vorlagen (Klassen-member-Funktion) mit nur Spezialisierungen, keine Allgemeinen (Arbeits -) definition

Partielle Spezialisierung einer Methode in einer Vorlage gebildete Klasse

Anzahl der Antworten 3 Antworten
Gegeben: struct A { virtual bool what() = 0; }; template<typename T, typename Q> struct B : public A { virtual bool what(); }; Möchte ich teilweise spezialisieren what wie: template<typename T, typename Q> bool B<T, Q>::what()

Wie zum initialisieren einer statischen std::unordered_map von einer Art Eigenschaft?

Anzahl der Antworten 3 Antworten
Gegeben, die folgende Eigenschaft, wie kann ich die initialisieren Fields mit einigen std::pairs? template <> struct ManagerDataTrait<Person> { static const std::unordered_map<std::string, std::string> Fields; //... }; Versuchte ich mit einem lambda aber Visual Studio sagt, dass Fields ist

Durchsetzung der Vorlage durch static_assert

Anzahl der Antworten 3 Antworten
Ich versuche zu verstehen, die Nützlichkeit der static_assert, und ich möchte wissen, ob es mir helfen kann bei der Vollstreckung einer design, und wenn ja, wie. Ich habe eine Allgemeine Vorlage-Klasse, die blendet seine eigene Implementierung in

Template Spezialisierung für eine leere parameter-pack

Anzahl der Antworten 3 Antworten
Habe ich ein variadic template-Funktion die sich selbst aufruft, um zu bestimmen, die größte Zahl in einer Liste (konstituiert durch die templatized Argumente). Ich versuche eine Spezialisierung in dem der parameter-pack ist leer und so kann ich

Mehrere typename Argumente in c++ - template?

Anzahl der Antworten 5 Antworten
Wie kann ich mehrere typename Argumente in einer c++ - template? #ifndef _CALL_TEMP_H #define _CALL_TEMP_H #include <string> #include <iostream> template <typename Sig> class Foo; template <typename A, typename B> class Foo { public: void output() { std::cout

std::remove_reference erklären?

Anzahl der Antworten 2 Antworten
Sah ich mögliche Implementierungen für std::remove_reference wie unten template< class T > struct remove_reference {typedef T type;}; template< class T > struct remove_reference<T&> {typedef T type;}; template< class T > struct remove_reference<T&&> {typedef T type;}; Warum ist

Explizite Spezialisierung nach der Instanziierung

Anzahl der Antworten 2 Antworten
Ich habe den folgenden code: typedef vector<int> Vec; typedef vector<Vec> VecOfVec; template<typename Vec> Vec DoSomething(const Vec &v); template<> VecOfVec DoSomething<VecOfVec>(const VecOfVec &v) { VecOfVec r; for(auto i = v.begin(); i != v.end(); i++) r.push_back(DoSomething(*i)); return r; }

Spezialisierung von member-Funktion Vorlage nach der Instanziierung Fehler, und die Reihenfolge der member-Funktionen

Anzahl der Antworten 2 Antworten
Folgende Stück code, der nicht kompiliert werden, die auf gcc 4.5.3 struct Frobnigator { template<typename T> void foo(); template<typename T> void bar(); }; template<typename T> void Frobnigator::bar() { } template<typename T> void Frobnigator::foo() { bar<T>(); } template<>

Erste "illegale Nutzung der explizite template-Argumente", wenn dabei ein Zeiger partielle Spezialisierung für eine Klasse Methode

Anzahl der Antworten 1 Antworten
Hallo, ich habe Probleme mit der teilweisen Spezialisierung. Was ich tun möchte, ist eine Klasse, die eine Vorlage-Memberfunktion, die verstehen, einen bestimmten Wert einer durch den Benutzer angegeben. Zum Beispiel wird der name der Klasse Value und

Deklaration der template-Klasse-Spezialisierung

Anzahl der Antworten 3 Antworten
Wenn ich spezialisiere mich auf einen (statischen) member-Funktion/Konstante in eine Vorlage-Klasse, ich bin verwirrt, wie und wo Sie die Erklärung bedeutete, zu gehen. Hier ist ein Beispiel, wie ich was zu tun ist - yoinked direkt aus

Definieren template-Spezialisierung in cpp?

Anzahl der Antworten 1 Antworten
Kann ich definieren, die eine spezialisierte Funktion in einer cpp-wie so... //header template<typename T> void func(T){} template<> void func<int>(int); //cpp template<> void func<int>(int) {} Wie kann ich eine Methode definieren, die in eine spezielle Klasse in ein

C++ template-Spezialisierung auf Funktionen

Anzahl der Antworten 4 Antworten
Ich bin Herumspielen mit template-Spezialisierung, und ich habe ein Problem ich kann nicht scheinen, um zu lösen; das ist mein code: template<int length, typename T> void test(T* array) { ... test<length-1>(array); } template<typename T> void test<0>(T* array)

Verständnis (einfache?) C++ Partielle Template-Spezialisierung

Anzahl der Antworten 2 Antworten
Hinweis: scheint dies ein repost von ein problem: C++ - Overload einer Vorlage gebildete Klasse Methode mit einer teilweise specilization Methode Habe ich eingekocht ein problem ich habe mit C++ template-Spezialisierung runter, um einen einfachen Fall. Es

C ++ Funktionsvorlage teilweise Spezialisierung?

Anzahl der Antworten 6 Antworten
Ich weiß, dass der code unten ist eine teilweise Spezialisierung einer Klasse: template <typename T1, typename T2> class MyClass { … }; //partial specialization: both template parameters have same type template <typename T> class MyClass<T,T> { …

C ++ Spezialisierung der Template-Funktion innerhalb der Template-Klasse

Anzahl der Antworten 6 Antworten
Was ist die C++ - syntax für die Spezialisierung einer template-Funktion, die innerhalb einer template-Klasse? Zum Beispiel, zu denken, dass ich die folgenden zwei Klassen und deren Verwendung. Ich möchte in der Lage sein, um spezialisierte Implementierungen

C ++ Template-Spezialisierung, Aufruf von Methoden für Typen, die eindeutig Zeiger oder Referenzen sein können

Anzahl der Antworten 1 Antworten
Zusammenfassung Gibt es eine Möglichkeit zum Aufruf einer Methode der Klasse auf ein Vorlagen-Typ, könnte ein pointer oder eine Referenz, ohne zu wissen, was und nicht compiler - /linker-Fehler? Details Ich habe eine Vorlagen-QuadTree-Implementierung, können die folgenden

C ++ Template-Spezialisierung mit konstantem Wert

Anzahl der Antworten 6 Antworten
Gibt es eine einfache Möglichkeit die Definition einer partiellen Spezialisierung einer C++ - template-Klasse eine numerische Konstante, die für eine der template-Parameter? Ich versuche zu schaffen, spezielle Konstruktoren nur für bestimmte Arten von template-Kombinationen: template <typename A,

Funktionsvorlagen-Spezialisierungsformat

Anzahl der Antworten 1 Antworten
Was ist der Grund für den zweiten Klammern <> die folgende Funktion Vorlage: template<> void doh::operator()<>(int i) Dieser kam in ALSO Fragewo es wurde vorgeschlagen, dass es eine Klammer fehlt nach operator()dennoch konnte ich nicht finden, eine

Template-Spezialisierung Überladen der VS-Funktion

Anzahl der Antworten 3 Antworten
Einem Buch, das ich haben festgestellt, dass Sie können Ihre eigene Implementierung für standard-Bibliothek Funktionen wie swap(x,y) über template-Spezialisierung für das überladen von Funktionen. Dies wäre nützlich für alle Arten, die davon profitieren kann, etwas anderes als

Warum kann Funktionsvorlage nicht teilweise spezialisiert werden?

Anzahl der Antworten 4 Antworten
Ich die Sprache kennen-Spezifikation verbietet teilweise Spezialisierung der Funktion Vorlage. Ich würde gerne wissen, die Gründe, warum es verboten wird? Sind Sie nicht nützlich? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {}

C ++ - Vorlagen Spezialisierungssyntax

Anzahl der Antworten 2 Antworten
In C++ Primer Plus (2001, Tschechische Übersetzung), die ich gefunden habe, der diese verschiedenen template-Spezialisierung syntax: Funktion Vorlage template <typename T> void foo(T); Spezialisierung syntax void foo(int param); //1 void foo<int>(int param); //2 template <> void foo<int>(int

C ++ Template-Spezialisierung der Funktion: "Illegale Verwendung expliziter Template-Argumente"

Anzahl der Antworten 1 Antworten
Folgende template-Spezialisierung-code: template<typename T1, typename T2> void spec1() { } Test Fall 1: template< typename T1> //compile error void spec1<int>() { } Test-Fall 2: template< typename T2> //compile error void spec1<int>() { } generiert die folgenden Kompilierungsfehler: