关于C++中vector< vector >的含义.vector< vector > vvec;的意思是:定义了一个vector,这个vector的element也是一个vector,那么我要问的是,对于内层的vector,编译系统知道每个element的size为sizeof(int),而对于外层
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/09 01:08:06
![关于C++中vector< vector >的含义.vector< vector > vvec;的意思是:定义了一个vector,这个vector的element也是一个vector,那么我要问的是,对于内层的vector,编译系统知道每个element的size为sizeof(int),而对于外层](/uploads/image/z/10136416-40-6.jpg?t=%E5%85%B3%E4%BA%8EC%2B%2B%E4%B8%ADvector%3C+vector+%3E%E7%9A%84%E5%90%AB%E4%B9%89.vector%3C+vector+%3E+vvec%3B%E7%9A%84%E6%84%8F%E6%80%9D%E6%98%AF%3A%E5%AE%9A%E4%B9%89%E4%BA%86%E4%B8%80%E4%B8%AAvector%2C%E8%BF%99%E4%B8%AAvector%E7%9A%84element%E4%B9%9F%E6%98%AF%E4%B8%80%E4%B8%AAvector%2C%E9%82%A3%E4%B9%88%E6%88%91%E8%A6%81%E9%97%AE%E7%9A%84%E6%98%AF%2C%E5%AF%B9%E4%BA%8E%E5%86%85%E5%B1%82%E7%9A%84vector%2C%E7%BC%96%E8%AF%91%E7%B3%BB%E7%BB%9F%E7%9F%A5%E9%81%93%E6%AF%8F%E4%B8%AAelement%E7%9A%84size%E4%B8%BAsizeof%28int%29%2C%E8%80%8C%E5%AF%B9%E4%BA%8E%E5%A4%96%E5%B1%82)
关于C++中vector< vector >的含义.vector< vector > vvec;的意思是:定义了一个vector,这个vector的element也是一个vector,那么我要问的是,对于内层的vector,编译系统知道每个element的size为sizeof(int),而对于外层
关于C++中vector< vector >的含义.
vector< vector > vvec;
的意思是:定义了一个vector,这个vector的element也是一个vector,那么我要问的是,对于内层的vector,编译系统知道每个element的size为sizeof(int),而对于外层的,它知道element的size是什么吗?
问题的意思就是,假如对于定义一个一维数组:
int a[10];
编译系统通过int知道了size,于是可以操纵存储空间.
若定义一个二维数组,
int a[8][10];
编译系统通过定义中的第一维大小"[10]"知道a是一个数组,每个元素大小是10*sizeof(int),所以可以操作存储空间.
而对于vector< vector >来说,外层的vector可以动态增加存储空间,那么如何知道增加一个元素需要增加多少存储空间呢?意思就是,内层的也动态,外层的也动态,内层的知道增加一个是增加sizeof(int),而外层不知道内层有多少个元素,它增加时是增加多少个sizeof(int)呢?意思就是上面例子中的二维数组中的那个"[10]"是从哪知道的呢?
我看的是英文原版的,我知道vector喝array有在run time动态增加的区别...拿array举例子是为了说明我的不解之处.我看到Page 93了,这只有道习题,并没有深入讲解vector< vector >的过程是怎样的...
关于C++中vector< vector >的含义.vector< vector > vvec;的意思是:定义了一个vector,这个vector的element也是一个vector,那么我要问的是,对于内层的vector,编译系统知道每个element的size为sizeof(int),而对于外层
uwinb 说的不错,不过vector 有两个指针,一个头一个尾,
昨天我才看了,
楼主去看一下vector的代码就知道了