我刚才看到this really nice talkRock Hard:C++ Evolving作者:Boris Jabes。在关于高阶泛型编程谈话的部分他说,下面是一个函数,是关于它的返回类型更通用的例子,并导致更少的模板函数重载C++ 11 decltype的启发性用法
template <typename Func>
auto deduce(const Func & f) -> decltype(f())
{..}
这然而,可以使用普通的模板语法如下
template <typename Func>
Func deduce(const Func & f)
{..}
,所以我想选择不真正展现decltype
的独特的电源的例子来实现。任何人都可以举一个这样的例子吗启发使用decltype
?
号的第一个例子是指'''推断(F)'''返回'''Func'''的结果的类型。第二个例子意味着'''推断(f)'''返回'''Func'''。你看得到差别吗? –
啊,对不起,我错过了'decltype'参数内的额外'()'。我的错。 –