Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
// vector::data
#include <iostream>
#include <vector>
int main ()
{
std::vector<int> myvector (5);
int* p = myvector.data();
*p = 10;
++p;
*p = 20;
p[2] = 100;
std::cout << "myvector contains:";
for (unsigned i=0; i<myvector.size(); ++i)
std::cout << ' ' << myvector[i];
std::cout << '
';
return 0;
}
|
|
Output:
myvector contains: 10 20 0 100 0
|
在c++11中,vector 增加了data()的用法,它返回内置vecotr所指的数组内存的第一个元素的指针。
int* p = myvector.data();则p指向myvector的第一个元素指针,而
++p;则p指向了myvector的第二个指针,也即p[0]为myvector的第二个元素,则p[2]指向myvector的第四个元素。其他同理。有不懂得同学可以留言