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

相关推荐
_李小白1 小时前
【OSG学习笔记】Day 2: Hello Cow
笔记·学习
ic爱吃蓝莓1 小时前
数据结构 | HashMap原理
数据结构·学习·算法·链表·哈希算法
鹭天1 小时前
Langchain学习笔记
笔记·学习·langchain
星幻元宇VR4 小时前
VR环保学习机|科技助力绿色教育新模式
大数据·科技·学习·安全·vr·虚拟现实
_一只小QQ4 小时前
软考中级第二节
学习
小飞菜涅5 小时前
fast-lio2复现
嵌入式硬件·学习·ubuntu
Century_Dragon5 小时前
哈弗M6汽车故障诊断与排除仿真教学软件:让课堂与实训无缝对接
学习
for_ever_love__6 小时前
Objective- C学习: 手动内存管理
c语言·学习·ios·objective-c
gechunlian886 小时前
Spring Security 官网文档学习
java·学习·spring
2401_853448236 小时前
Maix例程代码学习
学习