当前位置: 首页 > wzjs >正文

做网站需要的素材资料百度怎么注册公司网站

做网站需要的素材资料,百度怎么注册公司网站,长春火车站建在哪里,娱乐城网站建设一、基础类型的内存占用 • sizeof(bool)&#xff1a; C标准规定bool类型至少占用1字节&#xff08;实际存储1 bit信息&#xff0c;但编译器按最小寻址单位1字节处理&#xff09;。 输出size bool: 1符合预期。 二、vector<int>的内存占用 • 典型实现结构&#xff1a; …

一、基础类型的内存占用
sizeof(bool)

C++标准规定bool类型至少占用1字节(实际存储1 bit信息,但编译器按最小寻址单位1字节处理)。
输出size bool: 1符合预期。


二、vector<int>的内存占用
• 典型实现结构:

vector容器内部通常维护3个指针(64位系统下每个指针8字节):
_M_start:指向数据起始位置

_M_finish:指向最后一个元素的下一个位置(即size()的终点)

_M_end_of_storage:指向分配内存的终点(即capacity()的终点)

总大小 = 3 × 8 = 24字节,与输出size vector<int>: 24一致。


三、vector<bool>的特殊性
• 模板特化与位压缩:

vector<bool>是C++标准库中唯一进行空间优化的特化容器。每个bool元素以1 bit存储,8个元素仅占用1字节(动态内存)。
sizeof(vector<bool>)反映的是对象本身的内存占用,而非其管理的动态内存。

• 特化实现细节(以libstdc++为例):

vector<bool>内部需额外维护bit偏移量等元数据。其结构可能包含:
_M_start:迭代器(含数据指针 + bit偏移量,共16字节)

_M_finish:迭代器(16字节)

_M_end_of_storage:指针(8字节)

总大小 = 16 + 16 + 8 = 40字节,与输出size vector<bool>: 40吻合。


四、对比总结

类型内存占用(64位系统)说明
bool1字节最小寻址单位
vector<int>(8)24字节3个指针(无元素依赖)
vector<bool>(8)40字节特化实现需维护bit级元数据

五、扩展讨论

  1. vector<bool>的争议性:
    • 优点:节省内存(尤其海量布尔值时)。

    • 缺点:非标准容器行为(如无法获取bool&,需用代理类reference)。

    • 替代方案:使用vector<char>bitset(固定大小)。

  2. 编译器的差异性:
    不同编译器(如GCC、MSVC)对vector<bool>的实现可能不同,导致sizeof结果存在差异。


通过此例可深入理解C++标准库的设计权衡:在空间效率与对象模型之间,vector<bool>通过特化实现达成优化,但也带来了行为差异。

http://www.dtcms.com/wzjs/62169.html

相关文章:

  • 哪些网站可以做商家seo赚钱项目
  • 做p2p网站seo策略主要包括
  • 做百度推广需要网站吗培训班管理系统 免费
  • 网站建设客户需求表友点企业网站管理系统
  • 网站建设目标责任百度seo策略
  • 凡科网页登录西安关键词排名优化
  • 湛江网站制作搜索引擎技术包括哪些
  • 驻马店网站网站建设推广关键词排名查询
  • 上海营销型网站制作搜索引擎优化师工资
  • 网站维护的重要性百度公司有哪些部门
  • 微网站如何做微信支付宝支付宝支付接口搜索引擎营销是什么
  • 网站搭建中单页面百度统计代码安装位置
  • 佛山优化网站公司百度地图疫情实时动态
  • 中央两学一做网站行业关键词
  • 常州中环做网站多少钱一年的百度指数
  • 免费php外贸网站模板快速整站优化
  • flash怎么做电子书下载网站网络营销的5种营销方式
  • 大气简约企业网站模板企业类网站有哪些例子
  • 青岛html5网站制作网络营销推广方案策划
  • 官方网站免费建设汕头seo外包平台
  • 企业做网站大数据精准营销系统
  • 杭州 企业 建网站windows优化大师靠谱吗
  • 设计asp网站惠州seo全网营销
  • 济南想做网站网络营销怎么做
  • 太原疫情最新信息国内seo公司排名
  • wordpress 自带评论武汉seo计费管理
  • 网站内容建设的核心和根本是太原做网站的
  • 怎么建造网站合肥网站建设程序
  • 新公司如何做网站怎么寻找网站关键词并优化
  • dw2019怎么做网站seo研究