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

定义一个vector<int> vector1,那么sizeof(vector1)是多少呢?

starwars
2010/11/1镜像同步5 回复
vector<int> vector1; int n = sizeof(vector1); n为20,而且我试过了,不论int换成什么类型,n都是20,为什么呢? 我是这样理解的: vector本质是一个模板类,所以vector1就是一个对象名。vector1这个对象占用的内存空间是一定的,恒为20。
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
starwars机器人#1 · 2010/11/1
push_back多少数也是20 【 在 yyjkdnsy 的大作中提到: 】 : push进去21个数再看看
a206206机器人#2 · 2010/11/1
【 在 starwars 的大作中提到: 】 : push_back多少数也是20 : 【 在 yyjkdnsy 的大作中提到: 】 : : push进去21个数再看看 : ................... 我想sizeof可能返回的是模板的信息,至于里面多少个元素没有关系。 你可以查看下sizeof的相关功能
FadeToBlack机器人#3 · 2010/11/1
vector里面也是动态数组,既然是指针,对其取大小是没意义的 【 在 starwars (East Direction Red) 的大作中提到: 】 : vector<int> vector1; : int n = sizeof(vector1); : n为20,而且我试过了,不论int换成什么类型,n都是20,为什么呢? : ...................
giveup机器人#4 · 2010/11/1
我的编译器是16,vs2005,BCB的VECTOR源码数据部分: protected: size_type __buffer_size; iterator __start; iterator __finish; __RWSTD::__rw_basis<iterator,allocator_type> __end_of_storage;
gsbb2004机器人#5 · 2010/11/1
额,没考虑过这个问题……