Suchergebnisse für Anfrage "templates"
C ++ - Metaprogrammierung mit Vorlagen versus Inlining
Lohnt es sich, Code wie den folgenden zu schreiben, um Array-Elemente zu kopieren: #include <iostream> using namespace std; template<int START, int N> struct Repeat { static void copy (int * x, int * y) { x[START+N-1] = ...
Die std :: transform-ähnliche Funktion, die den transformierten Container zurückgibt
Ich versuche, eine Funktion ähnlich zu implementierenstd::transform Anstatt den Ausgabe-Iterator durch ein Argument zu ersetzen, möchte ich einen Container mit transformierten Eingabeelementen erstellen und zurückgeben. Sagen wir, es ...
Magische Argumente in Funktionsvorlagen
Im folgenden Code #include<iostream> template<typename T,size_t N> void cal_size(T (&a)[N]) { std::cout<<"size of array is: "<<N<<std::endl; } int main() { int a[]={1,2,3,4,5,6}; int b[]={1}; cal_size(a); cal_size(b); }Wie erwartet wird ...
Warum gilt die übliche Zugriffskontrollprüfung für Namen, die zum Angeben der expliziten Instanziierung beim Zugriff über Vorlagenparameter verwendet werden?
Der C ++ - Standard schreibt in Anmerkung 14.7.2 / 12 [temp.explicit] Folgendes vor: Die üblichen Regeln für die Zugriffsprüfung gelten nicht für Namen, mit denen explizite Instanziierungen angegeben werden. [Hinweis: Insbesondere können die im ...
Variadic Templates Parameter Matching in der STD :: Funktion
Ich habe folgenden Code: #include <iostream> #include <functional> template<typename Return, typename... Params> void func(std::function<Return(Params... )> x) {} void f(double) {} int main() { //func<void, double>(f); // compile error here in ...
Warum wird kein Vorlagenschlüsselwort benötigt, wenn eine unabhängige globale Vorlagenfunktion mit demselben Namen vorhanden ist?
Diese Frage steht im Zusammenhang mit meiner vorherigen FrageCompilerfehler beim Versuch, die Vorlagenmethode von einer privaten Instanz ...
In C ++ - Vorlagen werden übergeordnete Elemente ausgeblendet
Normalerweise wennA erbt vonB, alle Mitglieder vonA sind automatisch sichtbar fürBzum Beispiel class A { protected: int a; }; class B : public A { int getA() {return a;} //no need to use A::a, it is automatically visible };Wenn ich jedoch ...
Warum erlaubt ein Template-Template-Parameter nach der Parameterliste keinen 'Typnamen'?
Vorlage Vorlage Typenname?Beim BenutzenVorlage VorlageSyntax wie intemplate <template <typename> class T>muss das Schlüsselwort verwendet werdenclass, als mittypename gibt einen Fehler in folgender Form aus: Fehler: Template Template Parameter ...
Müssen Standardparameter explizit aufgelistet werden, wenn Vorlagenvorlagenparameter verwendet werden?
Ich möchte fragen, ob das folgende Codebeispiel kompiliert werden soll: #include <iostream> #include <vector> #include <typeinfo> using namespace std; template <template <class...> class C> struct convert_container { using type = C<double>; // ...
Ist die Verwendung von std :: vector <std :: shared_ptr <const T>> ein Antipattern?
Ich habe lange gebrauchtstd::vector undstd::shared_ptr Hand in Hand. Seit kurzem benutze ichstd::shared_ptr<const T> wann immer ein Zeiger auf ein const-Objekt benötigt wurde. Das ist alles in Ordnung, dastd::shared_ptr<T> kann ...