stl中各种容器的大小(sizeof)是多少?

marmoset 2002-03-12 05:24:38
请问stl中各种容器的大小?

比如
vector<int> vec1;
sizeof(vec1)是多少?在VC里好像没办法看到。

我原来想使用string来实现一个字符串的数组(就是一个数组里的每一个元素都是一个string对象),但是发现即便每个元素都是空("")的时候,该数组的sizeof也不是空,
即每个string类型都是带有数据成员的。

我现在想了解各个stl的类型,比如vector,hash_map等等本身的数据成员都占了多大空间?
...全文
215 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
marmoset 2002-03-13
  • 打赏
  • 举报
回复
to neccui,
关于string大小的问题,因为我现在的课题对内存利用率有一定的要求,所以必须考虑。由于我的字符串数组的每个string对象的长度都不大(也就是几个byte),因此string本身的内存开销所占的比例就不算小了,恐怕还是要使用传统的字符指针了。

to wsa_socket,
偶知道有源码的说,原来想偷懒的说:)

to vcmfc
感谢菜虫的信息,原来还有这么一个好去处,看看先。
vcmfc 2002-03-12
  • 打赏
  • 举报
回复
www.gotw.ca 中的publish中的mill 15讲得再清楚不过了,我这里有一位网友的译文,想要给我来信。
wsa_socket 2002-03-12
  • 打赏
  • 举报
回复
sizeof(vec1)一下看看,再说好像有stl源代码的,小侯(捷)说的
neccui 2002-03-12
  • 打赏
  • 举报
回复
sizeof是编译时期决定的,不会变的,难道说string "1" 的sizeof就是1, string "12"的sizeof就是2吗?呵呵。

这些大小是多少并不重要。实际上并不大,肯定在100字节之内。

要想确切知道,自己去看源代码吧。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧