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);