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

相关推荐
张望远-长风万里20 小时前
练习实践-win10自带命令工具certutil进行文件校验和生成实践
学习
敲敲了个代码20 小时前
从零实现一个「就地编辑」组件:深入理解 OOP 封装与复用的艺术
前端·javascript·学习·面试·前端框架
YJlio20 小时前
Autologon 学习笔记(9.16):无感登录的正确打开方式(原理、风险与替代方案)
数据库·笔记·学习
不羁的木木21 小时前
【开源鸿蒙跨平台开发学习笔记】Day10:React Native 开发 OpenHarmony —— 渲染README文档
学习·开源·harmonyos
d111111111d21 小时前
在stm32F103C8T6中,Thumb指令是什么?有什么作用?可以干什么?
笔记·stm32·单片机·嵌入式硬件·学习
哟哟耶耶21 小时前
knowledge-scss学习
前端·学习·scss
cjy_Somnr21 小时前
电机驱动学习以及闭环控制和硬件连接
嵌入式硬件·学习
学编程的闹钟1 天前
75【虚拟主机和ftp】
学习
松涛和鸣1 天前
24、数据结构核心:队列与栈的原理、实现与应用
c语言·开发语言·数据结构·学习·算法
可可苏饼干1 天前
Docker命令与知识点归纳
运维·学习·docker·容器