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

相关推荐
爱吃苹果的日记本20 分钟前
数据结构第五课
数据结构·学习
传奇开心果编程2 小时前
【Jetpack Compose基础语法学与练】第6课 TextField文本输入,字符串状态与输入交互
学习·前端框架·kotlin·android jetpack
kaixin_啊啊3 小时前
中国研究生数学建模竞赛(华为杯)学习笔记——AI绘图方法
人工智能·笔记·学习·数学建模
m4Rk_3 小时前
【论文阅读】Agent 记忆机制(73):MemGAS——让长期对话记忆按问题选择粒度并关联证据
论文阅读·人工智能·学习·开源·github
李白客4 小时前
数据库培训怎么选?零基础到DBA的学习路线与机构认证对比(2026)
数据库·学习
留白_4 小时前
代运营面试问答
学习
是隼人4 小时前
buuctf-pwn PWN8题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
ps酷教程5 小时前
数据权限DataPersmission
java·学习
无敌贵点大王5 小时前
RTThread学习记录10——C语言实现面向对象的编程
c语言·stm32·学习·链表
程序员yu6 小时前
数智码力:Python作用域完全梳理,全局变量局部变量不再混乱
开发语言·python·学习