- 博客(3)
- 收藏
- 关注
原创 C++类的构造函数对成员变量的初始化顺序
num2被成功初始化,但num1明显还只是一个随机数。产生这个现象的原因是因为构造函数初始化列表中的初始化顺序是和他们在类中出现的顺序是一致的,所以第一个被初始化的参数实际是num1,但此时num2没有被初始化,所以被赋值的一个随机值。注意到构造函数test(int a) :num2(a), num1(num2) {};num1和num2被正常初始化。虽然实际项目中应该不会这样去给成员变量初始化,但其原理最好还是了解一下比较好。
2025-06-18 11:03:06
187
原创 【指针、常量和别名】
不能简单将const cstring cstr1简单理解为const char* cstr1,他们之间有本质的区别,定义别名之后需要将别名理解为一种单独的类型变量。撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/Command + Shift + H 无序列表:Ctrl/Command + Shift + U 有序列表:Ctrl/Command + Shift + O 检查列表:C
2025-06-14 15:27:59
607
原创 2020-09-01
关于C++中#define和const的区别 表现上都是定义常量,比如: #define PI 3.1415926 const double pi=3.1415926 区别在于#define只是在预编译阶段将程序中字符串替换,而const有明确的数据类型定义,所以#define常用来定义专业术语和数学上某些固定的常量,const则用来定义不想被再次修改的常量。 在程序开发中通常将define定义的宏常量全部大写,以便直观地和其他变量或常量区分开。 ...
2020-09-01 11:26:55
104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人