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

相关推荐
weixin_4093831214 分钟前
简单四方向a*学习记录10 重写前面的所有逻辑
学习
喏喏心1 小时前
深度强化学习:价值迭代与Bellman方程实践
人工智能·python·学习·机器学习
kkkkkkkkk_12011 小时前
【强化学习】06周博磊强化学习纲要学习笔记——第三课下
笔记·学习·强化学习
白杨SEO营销1 小时前
白杨SEO:看“20步:从0-1做项目的笨办法”来学习如何选一个项目做及经验分享
前端·学习
无所事事的程序员1 小时前
Claude指令学习
学习
学习路上_write2 小时前
AD5293驱动学习
c语言·单片机·嵌入式硬件·学习
菥菥爱嘻嘻2 小时前
组件测试--React Testing Library的学习
前端·学习·react.js
白帽子黑客罗哥2 小时前
零基础转行渗透测试 系统的学习流程(非常详细)
学习·网络安全·渗透测试·漏洞挖掘·护网行动
李洛克073 小时前
RDMA 编程完整学习路线图
学习·rdma·路线
你想知道什么?3 小时前
JNI简单学习(java调用C/C++)
java·c语言·学习