=和{}赋值区别

在C++11中,变量和类都可以用{}进行初始化

cpp 复制代码
class A
{
public:
	A(int i1,int i2)
	{
		m_i1 = i1;
		m_i2 = i2;
	}
private:
	int m_i1;
	int m_i2;
};
int main()
{
	A a ={1,2};
	A b{ 1,2 };
	int aa = {2};
	int bb{ 33 };
	return 0;
}

和=最重要的区别是可以防止窄化转换

cpp 复制代码
int aa{1.2}

将一个小数赋值给int会编译报错

而=会把小数转换为整型

相关推荐
2301_8194143016 小时前
C++与区块链智能合约
开发语言·c++·算法
不想看见40416 小时前
Valid Parentheses栈和队列--力扣101算法题解笔记
开发语言·数据结构·c++
老约家的可汗16 小时前
C/C++内存管理探秘:从内存分布到new/delete的底层原理
c语言·c++
天赐学c语言16 小时前
Linux - 应用层自定义协议与序列/反序列化
linux·服务器·网络·c++
计算机安禾16 小时前
【C语言程序设计】第37篇:链表数据结构(一):单向链表的实现
c语言·开发语言·数据结构·c++·算法·链表·蓝桥杯
阿贵---17 小时前
C++构建缓存加速
开发语言·c++·算法
波特率11520017 小时前
C++当中is-a(继承)与has-a(成员对象)的辨析与使用指南(包含实际工程当中的使用示例)
c++·ros·串口通信
Queenie_Charlie17 小时前
最长回文子串 V2(Manacher算法)
c++·算法·manacher算法
不想看见40418 小时前
C++八股文【详细总结】
java·开发语言·c++
江公望18 小时前
C++11 std::function,10分钟讲清楚
开发语言·c++