我第一次尝试使用 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*.我怎样才能使它工作?谢谢.
std::vector有一个const_pointertypedef.你可以使用它
decltype(vals)::const_pointer ptr;
Run Code Online (Sandbox Code Playgroud)
获取正确的const指针指向矢量类型(实例).