网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月24日漏签0天
c++吧 关注:616,211贴子:2,110,932
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 23回复贴,共1页
<<返回c++吧
>0< 加载中...

求解一个sizeof(vector)的问题

  • 只看楼主
  • 收藏

  • 回复
  • 这就是名字
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在VS2008下,sizeof(vector)一个vector时,输出结果为20。但是STL中vector的源码里,只有四个迭代器,这算下来才16,剩下的4字节是什么呢???


  • 心之刃
  • ->*
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
vector的源码又不是全都一样……


2025-05-24 14:02:54
广告
  • 霜夜丶
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
pointer _Myfirst;// pointer to beginning of array
pointer _Mylast;// pointer to current end of sequence
pointer _Myend;// pointer to end of array
_Alty _Alval;// allocator object for values
_Container_proxy *_Myproxy;


  • 杀死一只陆连清
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
很简单, 因为vetor是某一个基类的派生类, Visual Studio 实现虚函数是用虚函数表和虚函数表指针, 就是说vector 内实际上有一个虚函数表的指针, 所以要加上4字节


  • 讲水
  • &
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主我试了vs2013 和vc6的结果都没有出现20的情况, 你可以把你的vector模版实现代码贴上来让大家看看,我在我的IDE上测试是这样的:



  • 讲水
  • &
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@杀死一只陆连清 ,我把vector的实现代码截图上来看看,证明确实没有继承关系



  • 新闻记者
  • *
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
前4字节为调试信息


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 23回复贴,共1页
<<返回c++吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示