我第一次尝试使用decltype
vector<int> vals;
const decltype(&vals[0]) ptr;
for (const auto& val : vals)
ptr = &val;
不编译,提示分配给只读变量 ptr
。我想要实现的是 ptr
为 const int*
类型。我怎样才能让它发挥作用?谢谢。
最佳答案
std::vector
有一个 const_pointer
typedef。你可以像这样使用它
decltype(vals)::const_pointer ptr;
获取指向 vector 类型 (Live Example) 的正确常量指针。
关于c++ - decltype 的 const 限定符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38127764/