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

相关推荐
arron88999 分钟前
自训练yolo模型自主学习性能持续提升思路
学习·yolo·目标跟踪
陌上明苏19 分钟前
.NET1-异步方法、LINQ
学习
青衫码上行24 分钟前
【JavaWeb学习 | 第23篇】监听器、RBAC权限模型
java·学习·servlet·jsp
sbc-study1 小时前
comsol例题学习-旋转晶片电镀-稀物质传递+二次电流分布+电极,壳+层流
学习·comsol·二次电流分布·稀物质传递·电极,壳·多物理场耦合·层流
智算菩萨1 小时前
【Python基础】AI的“重复学习”:循环语句(for, while)的奥秘
人工智能·python·学习
stars-he1 小时前
二极管峰值包络检波电路仿真学习笔记
笔记·学习
炽烈小老头1 小时前
【每天学习一点算法 2025/12/25】爬楼梯
学习·算法·动态规划
songyuc1 小时前
VCD学习笔记
学习
xiaoxiaoxiaolll1 小时前
偏振调控新维度!《Advanced Science》梯度下降算法赋能超表面实现24通道3D全息
学习
思成不止于此1 小时前
【MySQL 零基础入门】事务精讲(三):隔离级别与实战总结
数据库·笔记·学习·mysql