关于sizeof的一个坑,sizeof在计算STL容器的时候, 只取决于STL容器里面存放的数据类型,与元素个数无关。该值应该是与编译器相关的。

分析:

STL容器应该是从堆上分配内存,所以大小与元素个数无关。
sizeof(vector)取决于vector类的实现,STL是个完全开放的东西,谁都可以来实现vector类。

通过查看STL源码可以看到vector有四个成员变量 
_A   allocator; 
iterator   _First,   _Last,   _End; 

因此sizeof(STL容器)返回的是一个固定值。

参考连接:原地址

说点什么
支持Markdown语法
在"sizeof(vector)的计算结果"已有2条评论
Loading...