【C/C++】关于C++构造函数成员初始化

文章目录

      • [1. 第一种方式](#1. 第一种方式)
      • [2. 第二种方式](#2. 第二种方式)
      • [3. 优劣](#3. 优劣)

1. 第一种方式

成员初始化列表。在构造函数的参数列表后使用冒号分割的一组初始化语句。

c++ 复制代码
class my_class {
public:
	my_class(int a, int b): m_x(a), m_y(b) {
		/*....*/
	}
private:
	int m_x;
	int m_y;
};

2. 第二种方式

在构造函数内部使用赋值语句进行初始化变量。

c++ 复制代码
class my_class{
public:
	my_class(int a, int b) {
		m_x = a;
		m_y = b;
	}
private:
	int m_x;
	int m_y;
};

3. 优劣

成员初始化列表的效率比在构造函数体内部使用赋值语句要高,因为成员初始化列表可以直接初始化成员变量,而不需要先调用默认构造函数再赋值。因此,在实际开发中,应该尽可能使用成员初始化列表来初始化类的成员变量。

相关推荐
存在的五月雨3 分钟前
Redis的一些使用
java·数据库·redis
xiaoye-duck4 分钟前
C++ 内存管理:自定义类型 new/delete 调用构造 / 析构深度解析
c++
Elias不吃糖7 小时前
Java Lambda 表达式
java·开发语言·学习
zfxwasaboy7 小时前
DRM KMS 子系统(4)Planes/Encoder/Connector
linux·c语言
暮色_年华8 小时前
随想 2:对比 linux内核侵入式链表和 STL 非侵入链表
linux·c++·链表
情缘晓梦.8 小时前
C语言指针进阶
java·开发语言·算法
极客代码8 小时前
深入解析C语言中的函数指针:原理、规则与实践
c语言·开发语言·指针·状态机·函数·函数指针
敲皮裤的代码8 小时前
《C语言》分支和循环(下)
c语言
w-w0w-w9 小时前
C++模板参数与特化全解析
开发语言·c++
南知意-9 小时前
IDEA 2025.3 版本安装指南(完整图文教程)
java·intellij-idea·开发工具·idea安装