c++中的初始化列表

一、初始化的两种方式

1. 常规赋值法

一种是较为常规的初始化如下:

cpp 复制代码
Person(int a, int b, int c) {
	this->a = a;
	this->b = b;
	this->c = c;
}

由于过于习以为常,所以这里就不再赘述。

2. 初始化列表法

这种方法相比于直接赋值法,成员变量a、b、c在进入构造函数体之前就已经被初始化了。

cpp 复制代码
class Person{
...
	int a;
	int b;
	int c;
...
Person(int a, int b, int c) :a(a), b(b), c(c) {}
}

这种方法的效率会更高一些,使用过程中需要注意的地方如下:

  • 只能在构造函数里使用该语法,可以给所有成员变量设置++初始化++参数;
  • 成员的构造顺序和在初始化列表中的顺序无关,与++在类中声明顺序++有关;

**注:**第二条的意思是,不管我在初始化列表中体现的是"a b c"还是"c a b",成员的构造顺序都是"a b c",这是由我在类中声明的顺序有关的。

  • const类型和引用类型在初始化参数列表中初始化。
相关推荐
c++之路25 分钟前
C++信号处理
开发语言·c++·信号处理
故事还在继续吗2 小时前
C++20关键特性
开发语言·c++·c++20
青少儿编程课堂3 小时前
2026青少儿信息素养大赛备赛指南!Python/Scratch/C++备考要点
开发语言·c++·python
旖-旎3 小时前
深搜练习(电话号码字母组合)(3)
c++·算法·力扣·深度优先遍历
AIFarmer4 小时前
【无标题】
开发语言·c++·算法
John_ToDebug4 小时前
WebHostView 与 TabStrip 交互机制深度解析
c++·chrome·windows
南境十里·墨染春水5 小时前
C++笔记 STL——set
开发语言·c++·笔记
dgaf5 小时前
DX12 快速教程(17) —— 立体图标与合并渲染
c语言·c++·3d·图形渲染·d3d12
一个爱编程的人8 小时前
一个数是不是素数
数据结构·算法
charlie1145141918 小时前
通用GUI编程技术——图形渲染实战(三十八)——顶点缓冲与输入布局:GPU的第一个三角形
开发语言·c++·学习·图形渲染·win32