C++ decltype
flyfish
返回类型后置 编译器通过初始化去顶auto代表的类型,不需要定义变量仅希望得到类型使用decltype
使用方式1 类似auto
std::vector<int> v;
typedef decltype(v.begin()) it;
for (it i = v.begin(); i != v.end(); i++)
{
}
//或者
for (auto i = v.begin(); i != v.end(); i++)
{
}
使用方式2 i和j的类型相同
int i = 1;
decltype(i) j = i * 2;
使用方式3 返回类型后置
template<typename T, typename U>
auto add(T t, U u) -> decltype(t + u)
{
return t + u;
}
auto t = add(1.1, 2.2);