【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. 优劣

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

相关推荐
smileNicky14 小时前
Lombok @Data 在 IDEA 中运行报错解决方案
java·ide·intellij-idea
计算机学姐14 小时前
基于SpringBoot的汉服租赁系统【颜色尺码套装+个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
qq_54702617914 小时前
Maven 仓库管理
java·maven
天天摸鱼的java工程师14 小时前
线程池深度解析:核心参数 + 拒绝策略 + 动态调整实战
java·后端
mjhcsp14 小时前
C++ KMP 算法:原理、实现与应用全解析
java·c++·算法·kmp
好大哥呀14 小时前
C++ IDE
开发语言·c++·ide
邵伯14 小时前
Java源码中的排序算法(一)--Arrays.sort()
java·排序算法
阿里巴巴P8高级架构师14 小时前
从0到1:用 Spring Boot 4 + Java 21 打造一个智能AI面试官平台
java·后端
WW_千谷山4_sch14 小时前
MYOJ_10599:CSP初赛题单10:计算机网络
c++·计算机网络·算法
stevenzqzq14 小时前
trace和Get thread dump的区别
java·android studio·断点