Ich möchte eine Vorlage zwischen AJAX- und regulären HTTP-Aufrufen freigeben. Der einzige Unterschied besteht darin, dass eine Vorlage mit der HTML-Datei base.html bereitgestellt werden muss, die andere ohne. Irgendeine Idee?
Ich möchte eine Vorlage zwischen AJAX- und regulären HTTP-Aufrufen freigeben. Der einzige Unterschied besteht darin, dass eine Vorlage mit der HTML-Datei base.html bereitgestellt werden muss, die andere ohne. Irgendeine Idee?
Ich habe den zweiten Teil von Walter Browns CppCon2014-Vortrag über Template-Metaprogrammierung gesehen , in dem er die Verwendung seiner neuartigen void_t<>Konstruktion diskutierte . Während seines Vortrags stellte Peter Sommerlad ihm eine Frage, die ich nicht ganz verstand. (Link geht...
Ich habe eine Funktion, die mehrdimensional ist std::vectorund erfordert, dass die Tiefe (oder die Anzahl der Dimensionen) als Vorlagenparameter übergeben wird. Anstatt diesen Wert fest zu codieren, möchte ich eine constexprFunktion schreiben , die die std::vectorund die Tiefe als unsigned...
Ich bin neulich auf etwas Seltsames gestoßen, als ich eine Vorlagen-Metaprogrammierung durchgeführt habe. Es kommt im Grunde darauf an, dass diese Behauptung nicht (wie ich erwarten würde) vorübergeht. static_assert(std::is_same_v<void(), std::remove_reference_t<void()&>>); Zuerst...
Kann mir jemand erklären, warum die erste Meta-Programmiermethode für Vorlagen in eine Endlosschleife geht, die zweite jedoch korrekt ausgeführt wird. #include <iostream> using namespace std; template<int N, int M> struct commondivs { static const int val = (N<M) ?...
Ich versuche, eine Funktion mithilfe von Vorlagen zu definieren, und möchte, dass der Typname entweder int oder anEnum ist (eine bestimmte Aufzählung, die ich definiert habe). Ich habe Folgendes versucht, bin aber gescheitert: template <int | anEnum T> // or <int T, anEnum T> or...
Selbsterklärend. Angenommen, ich habe Typlisten wie folgt: using type_list_1 = type_list<int, somestructA>; using type_list_2 = type_list<somestructB>; using type_list_3 = type_list<double, short>; Sie können eine variable Anzahl von Typlisten sein. Wie erhalte ich eine...
Gibt es eine Möglichkeit, eine Funktion zu erstellen, die einen Container mit einem bestimmten Typ (z. B. std::string) als Parameter verwendet? void foo(const std::container<std::string> &cont) { for(std::string val: cont) { std::cout << val << std::endl; } } und es für jede...
Ich habe über Vorlagenfunktionen gelesen und war durch dieses Problem verwirrt: #include <iostream> void f(int) { std::cout << "f(int)\n"; } template<typename T> void g(T val) { std::cout << typeid(val).name() << " "; f(val); } void f(double) { std::cout...
In C ++ 20 kann der autoFunktionsparametertyp verwendet werden. Ermöglicht es auch die Verwendung autoeines Platzhalters als Vorlagenargument (nicht ähnlich, aber in gewisser Weise im Sinne der C ++ 17-Vorlage <auto> ) für den Funktionsparametertyp? Also der folgende Code vor C ++...
Ich habe den folgenden Code geschrieben, der verwendet, unique_ptr<Derived>wo a unique_ptr<Base>erwartet wird class Base { int i; public: Base( int i ) : i(i) {} int getI() const { return i; } }; class Derived : public Base { float f; public: Derived( int i, float f ) : Base(i), f(f) {}...
Wie kann ich im folgenden Code dafür sorgen, dass die kommentierte Zeile genauso funktioniert wie die Zeile direkt darüber? Ich möchte daraus einen generischen Code machen, der einen geeigneten Konstruktor einer Vorlage aufruft Type. #include <string> #include <iostream> template...
Ich habe eine überladene Vorlagenfunktion: template<typename T1, typename T2> auto overMax(T1 a, T2 b) { std::cout << __FUNCSIG__ << std::endl; return b < a ? a : b; } template<typename RT, typename T1, typename T2> RT overMax(T1 a, T2 b) { std::cout <<...
Gegeben die folgende Klassenvorlage: template<typename T> struct Outer { struct Inner; auto f(Inner) -> void; }; Wir definieren Innerseparat für jede Spezialisierung von Outer: template<> struct Outer<int>::Inner {}; template<> struct Outer<double>::Inner...
Ich weiß, dass der folgende Code nicht kompiliert werden kann. void baz(int i) { } void baz() { } class Bar { std::function<void()> bazFn; public: Bar(std::function<void()> fun = baz) : bazFn(fun){} }; int main(int argc, char **argv) { Bar b; return 0; } Weil std::functiongesagt wird,...
Gibt es eine Möglichkeit, eine Referenz als Argument an ein Argument für den Vorlagentypnamen zu übergeben? Ich meine dies, anstatt beispielsweise ein int zu übergeben, um einen Verweis auf ein int zu übergeben. template <typename T> struct Foo { Foo(T arg) : ptr(arg) {} T ptr; }; int main()...
Ich habe den folgenden Vorlagencode #include <vector> #include <array> #include <iostream> template<typename T1> void foo(std::vector<T1> bar) { std::cout << "GENERIC" << std::endl; } template<typename T1> void
Ich habe eine Funktion, die zwei Argumente akzeptiert: template <typename T1, typename T2> void foo(T1 arg1, T2 arg2) { std::cout << arg1 << " + " << arg2 << '\n'; } Und eine Variante, die ihre Argumente paarweise weiterleiten sollte: template <typename......
Ich habe einen Code wie template <size_t N> class A { template <size_t N> someFunctions() {}; }; Jetzt möchte ich Instanzen der Klasse erstellen und die darin enthaltenen Funktionen in einer for-Schleife für eine Reihe von Werten wie aufrufen // in main() int main() { for (int i = 1; i...
In letzter Zeit habe ich eine Vorlagenfunktion geschrieben, um einige Code-Wiederholungen zu lösen. Es sieht aus wie das: template<class T, class R, class... Args> R call_or_throw(const std::weak_ptr<T>& ptr, const std::string& error, R (T::*fun)(Args...), Args... args) { if...