// vector::data
#include <iostream>
#include <vector>
using namespace std;
//访问数据(指针操作)
//返回指向向量内部用于存储其拥有元素的内存数组的直接指针。
//由于保证向量中的元素以向量表示的相同顺序存储在相邻的存储位置
//因此可以偏移检索到的指针以访问数组中的任何元素。
int main ()
{
vector<int> myvector (5); //0 0 0 0 0
int* p = myvector.data();
//Parameters:none
*p = 10; //10 0 0 0 0
++p; //指到第二个
*p = 20; //10 20 0 0 0
p[2] = 100; //p已经指到第二个了(第二个下标变为0),10 20 0 100 0
cout << "myvector contains:";
for (unsigned i=0; i<myvector.size(); ++i)
cout << ' ' << myvector[i];
cout << '\n';
/*
cout<<"myvector contains:";
for(vector<int>::iterator it = myvector.begin();it!=myvector.end();++it)
cout<<' '<<*it;
cout<<endl;
*/
return 0;
}
/*
Output:
myvector contains: 10 20 0 100 0
*/