Quello che mi piacerebbe fare è qualcosa di simile:migliore alternativa a un typedef per un modello di funzione?
template <class DataType>
DataType myFunc(DataType in)
{
...
}
typedef myFunc<int> myFunc_i;
myFunc_i(37);
... tuttavia, typedef non possono essere utilizzati per funzioni come questo in C++. Quello che mi chiedevo è ... quali sono le alternative preferite dalle persone in questo caso? Gli unici che vengono in mente sono:
1) Basta trattare il caso, e utilizzare sempre myFunc sintassi 2) Creare manualmente una funzione wrapper, cioè
inline int myFunc_i(int in)
{
return myFunc<int>(in);
}
Questo potrebbe funzionare, ma avrebbe il svantaggio di richiedere manutenzione straordinaria, e la possibilità che si otterrebbe fuori sincrono (per esempio, se si cambia la firma della funzione per myFunc).
Pensieri?
Non capisco, perché non basta chiamare la specializzazione direttamente 'myFunc (37); '? –