Я хотел бы сделать что-то вроде этого:
template <class DataType>
DataType myFunc(DataType in)
{
...
}
typedef myFunc<int> myFunc_i;
myFunc_i(37);
... однако, typedefs нельзя использовать для таких функций в C ++. Что мне было интересно, так это то, какие предпочтения ... Единственные, о которых я могу думать:
1) Просто разберитесь с этим и всегда используйте синтаксис myFunc
2) Вручную создайте функцию-обертку, например
inline int myFunc_i(int in)
{
return myFunc<int>(in);
}
Это будет работать, но будет иметь недостатки, требующие дополнительного обслуживания, и вероятность того, что он выйдет из синхронизации (т. Е. Если вы измените сигнатуру функции для myFunc).
Мысли