- 博客(2)
- 收藏
- 关注
原创 C++对象模型(内存布局)
1.普通类对象成员布局 先不讨论有虚函数的情况,我们先说基本概念: 普通类成员布局中的 普通成员变量跟着对象走(放在堆或者栈区取决于对象生成的方式); 静态(全局)变量编译期间已经确认地址跟着类走,有内存的放在数据段,未初始化的放在BSS; 普通成员函数(包括静态)都是跟着类走的,编译期间确认地址代码内容置于代码段; 声明:以下情况均说的是Visaul Studio 2017 32位 MSVC编译器的情况。 ** 2.普通继承情况下的类对象成员布局 ** 这里也先不讨论有虚函数的情况,子类对象包含父类所
2021-04-02 10:10:46
346
原创 关于strlen 和 string.length的坑
char *c = new char[100]; strlen© 上述结果居然是104 //VS2017 MSVC; std::string ss = c; 这样构造, ss string.length依然是104; 转string 建议用第二种构造方法: std::string(c, size); 这样才不会构造有误;
2021-06-24 18:34:30
322
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅