C++ 学习 之 类的初始化与逗号运算符的联动

我们来看一个代码

cpp 复制代码
class A {
public:
	A(int x) {
		cout << "123" << endl;
	}
	A(int x, int y) {
		cout << "456" << endl;
	}

}a = (1, 2);
int main() {
	
}

这个代码的输出结果是什么?

答案是 123

因为编译器把 ( 1 , 2 ) 识别为 了逗号运算符,就是 2 ,然后调用了单参构造函数

如果代码改为

cpp 复制代码
class A {
public:
	A(int x) {
		cout << "123" << endl;
	}
	A(int x, int y) {
		cout << "456" << endl;
	}

}a (1, 2);
int main() {
	
}

那么结果才是 456

相关推荐
BullSmall12 分钟前
《逍遥游》
学习
奔波霸的伶俐虫12 分钟前
spring boot集成kafka学习
spring boot·学习·kafka
CCPC不拿奖不改名14 分钟前
面向对象编程:继承与多态+面试习题
开发语言·数据结构·python·学习·面试·职场和发展
GHL28427109014 分钟前
通义千问的 Function Call - demo学习
学习·ai·ai编程
知识分享小能手15 分钟前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中的服务器 —— 知识点详解 (22)
服务器·学习·ubuntu
慎独41316 分钟前
记忆力革命:学习力的核心与其目脑力的科技探索
科技·学习
_Kayo_21 分钟前
Node.js 学习笔记6
笔记·学习·node.js
汽车通信软件大头兵22 分钟前
Autosar--ETAS Isolar能够自由学习啦!
网络·学习·安全·汽车·etas·uds·isoalr
好奇龙猫22 分钟前
【人工智能学习-AI-MIT公开课第 17.-学习:boosting 算法】
人工智能·学习·boosting
周而复始 否极泰来24 分钟前
深入了解指针(1)
c语言·学习