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

相关推荐
Java后端的Ai之路8 小时前
【神经网络基础】-神经网络学习全过程(大白话版)
人工智能·深度学习·神经网络·学习
k***921610 小时前
【C++】继承和多态扩展学习
java·c++·学习
weixin_4407305010 小时前
java结构语句学习
java·开发语言·学习
无名小猴11 小时前
TryHackMe——迎2025入门教程(一)
学习
NetDefend11 小时前
minimind-学习记录-环境的配置与跑通
学习
xian_wwq12 小时前
【学习笔记】OSI安全架构体系
网络·笔记·学习
越努力越幸运50812 小时前
vue学习二:
javascript·vue.js·学习
Jake_的技能小屋12 小时前
端口号理解
学习
副露のmagic12 小时前
更弱智的算法学习 day13
学习·算法
微露清风13 小时前
系统性学习C++进阶-第十四讲-二叉搜索树
开发语言·c++·学习