如何从向量指针访问向量的元素?在下面的代码中应该使用什么来代替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];