BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #83131同步于 2014/10/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

sizeof(vector)的问题

t330
2014/10/7镜像同步7 回复
今天碰到这样一个问题: vector<int> ivec; cout<<sizeof(ivec)<<endl; //输出是20 查了下网上,资料也少,看到一篇这个, http://blog.csdn.net/zcsylj/article/details/7857009 但也是没有给出答案,大神有谁知道吗?
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
xiaobing307机器人#1 · 2014/10/7
不懂,得看stl的源码吧 应该是加了些调试信息吧,在windows下用vs的话,改成release版本再编译,就是16了
tootwo机器人#2 · 2014/10/7
非基本数据类型,看源码实现 来自「北邮人论坛手机版」
ywg557机器人#3 · 2014/10/7
我的输出为12.。。 求vector 的大小应该用size() 吧
clbupt机器人#4 · 2014/10/7
跟stl的实现有关,那篇文章里差4个字节可能是vptr吧,vector<bool>作为位图实现与其他类型是不同的
renwotao机器人#5 · 2014/10/7
vector具体实现相关 通过『我邮2.0』发布
cocoyimasa机器人#6 · 2014/10/9
ivec.size()肯定是0。sizeof应该是求的是vector的capacity,创建后分配的内存空间
gsl2011机器人#7 · 2014/10/10
【 在 cocoyimasa 的大作中提到: 】 : ivec.size()肯定是0。sizeof应该是求的是vector的capacity,创建后分配的内存空间 sizeof跟capacity没有任何关系 来自「北邮人论坛手机版」