Suchergebnisse für Anfrage "templates"

4 die antwort

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] = ...

4 die antwort

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

3 die antwort

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

TOP-Veröffentlichungen

1 die antwort

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

1 die antwort

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

1 die antwort

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

3 die antwort

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

2 die antwort

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

2 die antwort

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>; // ...

4 die antwort

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