從n2798(的的C++ 0x草案): 向量的元素被存儲連續的,這意味着如果v是 一個向量,其中T是某種類型的比布爾其他,那麼它遵守 身份& v [n] == & v [0] + n對於所有的0 < = n < v.size()。
該程序的工作原理:
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
int main(){
int k;
cin >> k; cout << endl << "k = " << k << endl;
ostream_iterator<int> oi(cout, " ");
vector<vector<int> > vpi;
while(k--)
{
vpi.push_back(vector<int>(istream_iterator<int>(cin), istream_iterator<int>()));
cin.clear();
cout<<"k = "<< k <<endl;
copy(vpi[vpi.size()-1].begin(), vpi[vpi.size()-1].end(), oi);
cout<<endl;
}
}
如何能矢量存儲載體連續,當向量的元素必須具有相等的尺寸和要被存儲在預先不知道矢量的大小?
我很抱歉如果之前詢問過,我找不到它,如果是這種情況,請給我一個鏈接。
誰投了-1請告訴我爲什麼。 –
[This](http://stackoverflow.com/questions/13341264/vector-elements-do-not-appear-to-be-stored-contigously)問題源於類似的誤解。 –