const限定符为decltype

hov*_*ovo 1 c++ c++11

我第一次尝试使用 decltype

vector<int> vals;
const decltype(&vals[0]) ptr;

for (const auto& val : vals)
    ptr = &val;    
Run Code Online (Sandbox Code Playgroud)

不编译,抱怨分配给只读变量ptr.我想要实现的是ptr类型const int*.我怎样才能使它工作?谢谢.

Nat*_*ica 7

std::vector有一个const_pointertypedef.你可以使用它

decltype(vals)::const_pointer ptr;
Run Code Online (Sandbox Code Playgroud)

获取正确的const指针指向矢量类型(实例).