我正在学习decltypeC++ 11。
autoand的功能decltype似乎重复了,我不明白为什么我们需要decltype.
根据wiki的说法,它的主要用途是在泛型编程中,通常很难甚至不可能表达依赖于模板参数的类型。
在泛型编程中,auto当难以表达类型时我可以使用:
template <typename T>
void MakeAnObject (const T& builder)
{
auto val = builder.MakeObject();
// do stuff with val
}
我不明白为什么decltype需要。
能做decltype哪些不能做的事auto?