使用declytype推导类型时删除CV限定符

时间:2015-08-31 08:51:57

标签: c++ decltype type-deduction

我有一个常量声明如下:

const auto val = someFun();

现在我想要另一个具有相同类型'val'但没有常量规范的变量。

decltype(val) nonConstVal = someOtherFun();
// Modify nonConstVal, this is error when using decltype

目前decltype保持常量。如何剥离它?

1 个答案:

答案 0 :(得分:3)

来自float

您可以在C ++ 14中使用:

<type_traits>

或在C ++ 11中

std::remove_cv_t<decltype(val)> nonConstVal = someOtherFun();

Demo