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

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

相关推荐
风吹迎面入袖凉1 分钟前
【Redis】Redisson分布式锁原理
java·服务器·开发语言
QCzblack2 分钟前
BugKu BUUCTF ——Reverse
java·前端·数据库
Mapleay5 分钟前
CLion IDE 使用
c++
Orange_sparkle5 分钟前
learn claude code学习记录-S02
java·python·学习
李白你好7 分钟前
Java GUI-未授权漏洞检测工具
java·开发语言
兵哥工控10 分钟前
MFC用高精度计时器实现五段时序控制的改进
c++·mfc
会编程的土豆22 分钟前
日常做题 vlog
数据结构·c++·算法
22信通小白26 分钟前
USRP初学者使用手册(基础配置及bug记录)——Linux+Clion(单台X310收发)
linux·运维·c++·5g·bug·信息与通信
aq553560026 分钟前
四大编程语言对比:PHP、Python、Java、易语言
java·python·php
郭涤生1 小时前
C++模板元编程理论基础简介
c++