访问c ++的向量指针元素

时间:2013-08-29 21:46:44

标签: c++ pointers vector

如何从向量指针访问向量的元素? 在下面的代码中应该使用什么代替cout << v [0];来打印10?

vector <int>* v; // the function parameter
v->push_back (10);
cout << v [0];

3 个答案:

答案 0 :(得分:7)

如果你实际上有一个指向矢量的指针,那么正确的方法是:

cout << (*v)[0];

但是你没有指向矢量的指针。你有一个未初始化的指针,你对push_back的调用是未定义的行为,就像试图打印这个不存在的向量的元素一样。

答案 1 :(得分:1)

您可以使用v->at(0)v->operator[](0)

答案 2 :(得分:0)

您不应该首先使用指向矢量的指针。在堆栈上构造向量更合理:

std::vector<int> v;
v.push_back(10);
std::cout << v[0];