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

相关推荐
后来后来啊9 分钟前
2026.2.2 & 2.3学习笔记
数据结构·笔记·学习·算法·leetcode
AI视觉网奇11 分钟前
ue5 绑定 鞋子 blender绑定
笔记·学习·ue5
好好学习天天向上~~14 分钟前
2_Linux学习总结_基础指令
linux·学习
脑洞代码14 分钟前
协议头部格式详解:IP、TCP、UDP与MAC帧结构
网络·笔记·学习
要开心吖ZSH33 分钟前
Spring AI Alibaba 个人学习笔记
人工智能·学习·spring·spring ai·springaialibaba
●VON33 分钟前
React Native for OpenHarmony:深入剖析 Switch 组件的状态绑定、无障碍与样式定制
javascript·学习·react native·react.js·von
EnglishJun35 分钟前
数据结构的学习(三)---双向链表与循环链表
数据结构·学习·链表
简佐义的博客36 分钟前
跟着Nature学习如何联合多组学snRNA-seq + snATAC-seq + WGS+空间转录组分析重构肿瘤亚克隆演化树
学习·重构
im_AMBER37 分钟前
Leetcode 112 两数相加 II
笔记·学习·算法·leetcode
卡兰芙的微笑42 分钟前
编译鸿蒙6.0release版本出错
学习