[英]Access c++'s vector pointer's elements
如何从向量指针访问向量的元素? 在以下代码中,应使用什么代替cout << v [0];
打印10个?
vector <int>* v; // the function parameter
v->push_back (10);
cout << v [0];
如果您实际上有一个指向矢量的指针,则正确的方法是这样的:
cout << (*v)[0];
但是您没有指向向量的指针。 您有一个未初始化的指针,并且对push_back
的调用是未定义的行为,就像试图打印此不存在的向量的元素一样。
您可以使用v->at(0)
或v->operator[](0)
首先,您不应该使用指向矢量的指针。 在堆栈上构造向量更合理:
std::vector<int> v;
v.push_back(10);
std::cout << v[0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.