1

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

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

3 回答 3

8

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

cout << (*v)[0];

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

于 2013-08-29T21:51:27.623 回答
1

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

于 2013-08-29T21:51:07.847 回答
0

首先,您不应该使用指向向量的指针。在堆栈上构造向量要合理得多:

std::vector<int> v;
v.push_back(10);
std::cout << v[0];
于 2013-08-29T21:57:28.383 回答