mit folgenden FunktionenParametrieren Vorlage von Funktionsnamen C++ 11
void print(int a) { cout << a << endl; }
void print(std::string a) { cout << a << endl; }
Sie können
template <class T> void printT(T a) { print(a); }
Gibt es die folgende Vorlage tun einige Mechanismus, um die Funktionsnamen parametrisieren? Etwas wie folgt aus:
template <class T, class F> void anyT(T a) { F(a); }
Ich brauche nicht eine Funktionsvorlage sein, nur einen Mechanismus, das gleiche zu erreichen.
nur für Neugier: Warum willst du das machen? Ist es nicht schön, in der Lage zu sein, 'print (x);' zu schreiben, wobei 'x'' string' oder 'int' sein kann, anstatt den Typ anzugeben (dh' (x) 'für' int') und 'print (x)' für Strings)? –
user463035818
@ tobi303, müssen Sie in diesem Fall den Schablonentyp nicht angeben. Der Compiler kann dies recht einfach ableiten. – StoryTeller
@ tobi303 Ich weiß. Es ist nur ein Spielzeug-Beispiel, um das Problem vorzustellen und die Dinge zu erleichtern, die helfen wollen. Ich hasse es wirklich, wenn einige Leute den ganzen Code einfügen, wenn es nicht wirklich benötigt wird. –