VisualStudio下std::string的内存布局
2024-09-06 01:52:16
主要成员
union _Bxty
{ // storage for small buffer or pointer to larger one
_Elem _Buf[_BUF_SIZE];
_Elem *_Ptr;
} _Bx; size_type _Mysize; // current length of string
size_type _Myres; // current storage reserved for string
其中,_Bx保存着string的真正成员,如果string长度在16以内,可以直接存放到string对象的内部;
否则,_Bx._Ptr保存存放真正内容的指针;
当string长度增长时,会重新分配更大的内存空间,并且将原来的字符串拷贝至新分配的空间中去。
在Visual Studio下,sizeof(str1) = 0x00000020 = 32个字节
最新文章
- ping广播地址会如何(转)
- 纪念逝去的岁月——C/C++快速排序
- 为Docker容器配置固定IP
- Android 虚拟机 Davlik
- 3. NHibernate基础知识 - 你必须知道的一些事情
- State 状态模式
- C语言中NULL的定义
- net.sz.framework 框架 轻松搭建数据服务中心----读写分离数据一致性,滑动缓存
- Maven的下载,安装,配置,测试,初识
- NetBeans主题配色方案加设置.md
- Redis linux 外部telnet访问不通
- numpy&;pandas补充常用示例
- line-height各类属性值
- C#/对线程的认识
- Windows下 tensorboard出现ValueError:Invalid format string
- 第四篇 - 爬取前程无忧python相关工作
- springframework内BeanUtils源码使用记录一
- MySQL数据库基本用法
- NOIP模拟测试1(2017081501)
- Cpp下匿名对象探究