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

分析:

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

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

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

参考连接:原地址

分类: C++

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注