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

相关推荐
好奇龙猫13 小时前
【人工智能学习-AI入试相关题目练习-第八次 】
人工智能·学习
saoys13 小时前
Opencv 学习笔记:手动绘制彩色图像的 RGB 通道直方图
笔记·opencv·学习
薛不痒13 小时前
项目:矿物分类(训练模型)
开发语言·人工智能·python·学习·算法·机器学习·分类
秦奈14 小时前
Unity复习学习笔记(九):UGUI
笔记·学习·unity
AI_零食14 小时前
鸿蒙的flutter框架表达:生命律动系统
学习·flutter·ui·华为·harmonyos·鸿蒙
深蓝海拓14 小时前
PyQt5/PySide6的moveToThread:移动到线程
笔记·python·qt·学习·pyqt
AI_零食14 小时前
鸿蒙跨端框架 Flutter 学习 Day 6:Future 在 UI 渲染中的心跳逻辑
学习·flutter·ui·华为·harmonyos·鸿蒙
科技AI训练师14 小时前
环保设备厂的转型之路:CAXA助力污水处理设备升级
科技·学习·制造
Xudde.14 小时前
在网络空间安全专业大二上学期个人经历
笔记·学习·安全
wdfk_prog14 小时前
[Linux]学习笔记系列 -- [drivers][base]dd
linux·笔记·学习