vector< vector<int> > vvec;的意思是:定義了一個vector,這個vector的element也是一個vector,那么我要問的是,對于內層的vector<int>,編譯系統知道每個element的size為sizeof(int),而對于外層的,它知道element的size是什么嗎???問題的意思就是,假如對于定義一個一維數組:int a[10];編譯系統通過int知道了size,于是可以操縱存儲空間.若定義一個二維數組,int a[8][10];編譯系統通過定義中的第一維大小"[10]"知道a是一個數組,每個元素大小是10*sizeof(int),所以可以操作存儲空間.而對于vector< vector<int> >來說,外層的vector可以動態增加存儲空間,那么如何知道增加一個元素需要增加多少存儲空間呢?意思就是,內層的也動態,外層的也動態,內層的知道增加一個是增加sizeof(int),而外層不知道內層有多少個元素,它增加時是增加多少個sizeof(int)呢?意思就是上面例子中的二維數組中的那個"[10]"是從哪知道的呢?我看的是英文原版的<<C++ Primer>>,我知道vector喝array有在run time動態增加的區別...拿array舉例子是為了說明我的不解之處.我看到Page 93了,這只有道習題,并沒有深入講解vector< vector<int> >的過程是怎樣的...過程是什么???
您好,求教關于C++中vector< vector<int> >的含義.
慕蓋茨4494581
2021-10-27 19:15:15