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

相关推荐
sszdlbw1 分钟前
后端springboot框架入门学习--第一篇
java·spring boot·学习
秋深枫叶红8 分钟前
嵌入式第三十五篇——linux系统编程——exec族函数
linux·前端·学习
richxu202510011 小时前
嵌入式学习之路>单片机核心原理篇>(14) ARM 架构
arm开发·单片机·学习
YJlio1 小时前
BgInfo 学习笔记(11.5):多种输出方式(壁纸 / 剪贴板 / 文件)与“更新其他桌面”实战
笔记·学习·c#
风和先行1 小时前
androidStudio gradle 配置学习总结
学习
YJlio2 小时前
桌面工具学习笔记(11.4):BgInfo + Desktops + ZoomIt 组合拳——演示与排障环境一键到位
笔记·学习·自动化
玩具猴_wjh2 小时前
12.15 学习笔记
笔记·学习
shenghaide_jiahu2 小时前
数学分析简明教程——6.3
学习
三川6982 小时前
AVL树的学习
数据结构·学习·算法
Da Da 泓2 小时前
多线程(四)【线程安全问题】
java·开发语言·jvm·学习·安全·多线程·线程安全问题