- 博客(3)
- 收藏
- 关注
原创 C++构造函数体内初始化与列表初始化的区别
本文探讨C++构造函数体内初始化与列表初始化的区别:结论是:若某个类(下文的class B)有一个类成员是类类型(下文的class A),那么1、若类B通过构造函数体内初始化,会先调用类A的默认构造函数(无参构造函数),再调用类A的赋值运算符;2、若类B通过初始化列表去初始化,则只调用类A的拷贝构造函数。另外,虽然对于成员类型是内置类型的情况,通过上述两种情况去初始化是相同的,但是为了标...
2019-06-24 15:19:03
5026
6
原创 你必须知道的C++继承内存分布结构
此文针对C++多种继承方式下的内存分布结构进行一系列验证!若有错误,感激指正!由于此文的重点在于内存分布,简便起见,所以没有对内存对齐进行详细的阐明。工具visual studio 2019 (64位)预备工作第一步右键你的源文件,选择“属性”,弹出第二步所示的对话框。第二步选择“命令行”,并在右边的“其他选项”中输入如下格式:/d1 reportAllClassLay...
2019-06-19 15:24:56
1218
原创 《Effective C++》读书笔记之尽量以const,enum,inline替换#define
尽量以const,enum,inline替换#defineconst和enum替代#defineinline替换#defineconst和enum替代#define当我们以常量const替换#define的时候,有两种特殊情况需要特别注意:定义常量指针由于常量定义式通常被放在头文件中,以便被不同的源码含入,因此有必要将指针声明为const,而不只是指针所指之物,否则多个源文件包含同一个头...
2019-04-18 14:44:06
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人