con le seguenti funzionimodello Parametrizzazione dal nome della funzione C++ 11
void print(int a) { cout << a << endl; }
void print(std::string a) { cout << a << endl; }
È possibile effettuare le seguenti modello
template <class T> void printT(T a) { print(a); }
C'è qualche meccanismo per parametrizzare il nome della funzione? Qualcosa di simile a questo:
template <class T, class F> void anyT(T a) { F(a); }
Non ho bisogno di essere un modello di funzione, solo qualche meccanismo per ottenere lo stesso.
Solo per curiosità: Perché vuoi farlo? Non è bello essere in grado di scrivere 'print (x);', dove 'x' può essere' string' o 'int', invece di dover specificare il tipo (ad esempio' print (x) 'per' int' e 'print (x)' per le stringhe)? –
user463035818
@ tobi303, non è necessario specificare il tipo di modello in questo caso. Il compilatore può facilmente dedurlo. – StoryTeller
@ tobi303 Lo so. È solo un esempio di giocattolo per introdurre il problema e rendere le cose più facili a chi vuole aiutare. Odio davvero quando alcune persone incollano tutto il codice quando non è realmente necessario. –