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

C++笔记之类型大小、变量大小,vector与string在栈上内存、堆上内存和总内存的关系

C++笔记之类型大小、变量大小,vector与string在栈上内存、堆上内存和总内存的关系

在这里插入图片描述

code review!

文章目录

  • C++笔记之类型大小、变量大小,vector与string在栈上内存、堆上内存和总内存的关系
    • 1.`std::vector<float>` 的内存占用
    • 2.`std::vector<float>` 的 `capacity` 和 `size` 关系
    • 3.如何测量 `std::vector<float>` 的实际内存占用?
      • 3.1.元数据占用
      • 3.2.堆内存占用
      • 3.3.总内存占用
    • 4.总结
    • 5.`sizeof` 的作用
    • 6. 数据类型的大小
      • 6.1.常见基本数据类型的大小(以字节为单位)
      • 6.2.说明
    • 7.某种数据类型的变量的大小
      • 7.1.内存对齐的影响
    • 8.三者的关系
    • 9.常见问题解答
      • 9.1.为什么 `sizeof` 结果可能包含补齐字节?
      • 9.2.多平台下数据类型的大小是否一致?
      • 9.3.如何避免结构体的内存浪费?
      • 9.4.如何强制让变量紧凑存储?
      • 9.5.总结
    • 10.std::string 的内存结构和大小计算
      • 10.1.`sizeof(str)` 与 `str.size()` 的区别
        • 10.1.1.`sizeof(str)`
        • 10.1.1.2 `str.size()`
      • 10.2.内存占用分析:`std::string` 的堆内存和栈内存
        • 10.2.1.栈上内存
        • 10.2.2.堆上内存
        • 10.2.3.小字符串优化(SSO)示例
      • 10.3.总结:`sizeof(str)` 与 `str.size()` 的关系
      • 10.4.扩展:计算 `std::string` 的总内存占用
      • 10.4.1.如何计算 `std::string` 的总内存占用?
      • 10.4.2.示例代码:计算总内存
      • 10.5.总结核心点

1.std::vector<float> 的内存占用

std::vector 是一个动态数组,它的内存分为两部分:

  1. 固定大小的元数据部分

    • 包括指向元素存储的指针、当前存储的元素个数(size)、以及分配的容量(capacity)等。
    • 这部分的大小是固定的,与 std::vector 的模板参数(如 float)无关。
    • 通常在 64 位系统上,这部分占用 24 字节(3 个指针大小,每个 8 字节)。
    • 可以通过

相关文章:

  • PHP培训机构教务管理系统小程序
  • 八大排序——简单选择排序
  • 提示工程实现数据质量评估
  • matlab飞行姿态pid控制
  • 工业级推荐系统冷启动解决方案:基于元迁移学习与动态知识图谱的混合架构设计与实践
  • 【go语言规范】Gopherfest 2015 | Go Proverbs with Rob Pike的 总结
  • 深入理解 Shell 脚本执行方式:`source`、`./xx.sh`、`bash xx.sh` 和 `sh xx.sh`
  • 顺序表(C)
  • centos部署open-webui
  • MybatisMybatisPllus公共字段填充与配置逻辑删除
  • 【第12章:深度学习与伦理、隐私—12.1 AI伦理原则与偏见检测的方法与实践】
  • Jasper AI技术浅析(二):语言模型
  • docker部署笔记软件memos,通过5320端口访问,如何通过nginx反向代理配置访问?
  • 2025.2.16
  • Windows逆向工程入门之堆栈结构与信息获取
  • Qt 6.8版本 自制windows下运行软件<一>——串口调试助手
  • 在linux系统中安装Anaconda,并使用conda
  • 游戏引擎学习第106天
  • Moya 网络框架
  • Redis 的集群 --- 数据分开扛
  • 多地景区发公告称售票达接待峰值,有景区暂停网络和线下售票
  • 格桑花盛放上海,萨迦艺术团襄阳公园跳起藏族舞
  • 同日哑火丢冠,双骄的下山路,手牵手一起走
  • 亚马逊拟为商品标注“关税成本”,特朗普致电贝索斯讨说法
  • 徐徕任上海浦东新区副区长,此前已任区委常委
  • “女乘客遭顺风车深夜丢高速服务区”续:滴滴永久封禁两名涉事司机账号