【发布时间】:2013-11-12 17:27:49
【问题描述】:
我看到我的团队中有人编写这样的代码。我个人认为这不是可移植的,因为向量可以以完全不同的方式实现。我说的对吗?
vector<int> a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
int* b = &a[0];
std::cout<< *(b +1); // this will print 2
【问题讨论】:
-
事实上,截至 2011 年,
data成员函数正是用于此目的。 -
@BoBTFish 因为
data有一个const限定符,所以b需要声明为const int* b。 -
@Mark 第二个。现在,让我们也为最初的问题投票。
标签: c++ arrays pointers vector