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

相关推荐
nenchoumi311911 分钟前
UE5 学习系列(一)创建一个游戏工程
c++·学习·游戏·ue5
crary,记忆21 分钟前
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
前端·学习·webpack
2301_7902258824 分钟前
unity加载资源学习笔记
笔记·学习
重庆小透明36 分钟前
【从零学习JVM|第三篇】类的生命周期(高频面试题)
java·jvm·后端·学习
我是初九2 小时前
【李沐-动手学深度学习v2】1.Colab学习环境配置
人工智能·python·学习·colab
KENYCHEN奉孝2 小时前
Django 5 学习笔记总纲
笔记·学习·django
蒙奇D索大4 小时前
【11408学习记录】考研数学攻坚:行列式本质、性质与计算全突破
笔记·学习·线性代数·考研·机器学习·改行学it
moxiaoran57534 小时前
uni-app学习笔记二十四--showLoading和showModal的用法
笔记·学习·uni-app
DartistCode4 小时前
动手学深度学习pytorch(第一版)学习笔记汇总
pytorch·深度学习·学习
汤姆和佩琦4 小时前
LLMs基础学习(八)强化学习专题(1)
深度学习·学习·强化学习·马尔可夫决策过程