Лучшая альтернатива определению типа для шаблона функции?

Я бы хотел сделать что-то вроде этого:

template <class DataType>
DataType myFunc(DataType in)
{
   ...
}

typedef myFunc<int> myFunc_i;

myFunc_i(37);

... однако, typedef не может использоваться для таких функций в C ++. Мне было интересно ... какие альтернативы предпочитают люди в этом случае? Единственные, о которых я могу думать, это:

1) Просто разберитесь с этим и всегда используйте синтаксис myFunc. 2) Вручную создать функцию-оболочку, то есть

inline int myFunc_i(int in)
{
    return myFunc<int>(in);
}

. Это будет работать, но будет иметь обратную сторону, требующую дополнительного обслуживания и возможность того, что она выйдет из синхронизации (например, если вы измените сигнатуру функции для myFunc).

Мысли?

18
задан Paul Molodowitch 30 April 2016 в 14:01
поделиться