这表明我可以从数组构造一个向量,如下所示:
// the iterator constructor can be used to construct from arrays:
int myints[] = {16,2,77,29};
vector<int> myvector (myints, myints + sizeof(myints) / sizeof(int) );
Run Code Online (Sandbox Code Playgroud)
为什么构造函数的第二个参数myints + sizeof(myints) / sizeof(int)?
jua*_*nza 10
表达式 sizeof(myints) / sizeof(int)获取myints数组中的元素数.
myints 获取指向数组第一个元素的指针.
所以表达式myints + sizeof(myints) / sizeof(int)是一个超过myints数组末尾的指针,这是期望的双迭代器构造函数std::vector.这将创建一个带有原始数组中所有元素副本的向量.
请记住,指针是迭代器,所以上面等价于
vector<int> myvector (std::begin(myints), std::end(myint));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3924 次 |
| 最近记录: |