Как std :: tr1 :: function получает параметры сигнатурных функций и специализирует класс * - PullRequest
0 голосов
/ 24 июня 2011

Я хочу знать, как std::function определяет аргумент и параметры от типа функции, который вы передаете.

1 Ответ

6 голосов
/ 24 июня 2011

Это частичная специализация шаблонов.

template<typename T> class function;
template<typename Ret> class function<Ret()> { ... };
template<typename Ret, typename Arg1> class function<Ret(Arg1)> { ... };

Как вы можете видеть, это быстро устареет, но переменные шаблоны будут обрабатывать его в C ++ 0x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...