=和{}赋值区别

在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会编译报错

而=会把小数转换为整型

相关推荐
AI进化营-智能译站20 分钟前
ROS2 C++开发系列15-模板实现通用算法|宏定义ROS2调试开关|一次编码适配多平台
java·c++·算法·ai
澈20721 分钟前
C++引用与指针:核心区别全解析
开发语言·数据结构·c++
良木生香28 分钟前
【C++初阶】STL——Vector从入门到应用完全指南(1)
开发语言·c++·神经网络·算法·计算机视觉·自然语言处理·数据挖掘
Brilliantwxx28 分钟前
【C++】String的模拟实现(代码实现与坑点讲解)
开发语言·c++·笔记·算法
楼田莉子42 分钟前
仿Muduo的高并发服务器:Channel模块与Poller模块
linux·服务器·c++·学习·设计模式
zhouwy11343 分钟前
Linux网络编程从入门到精通
linux·c++
迷途之人不知返43 分钟前
deque的简单认识
数据结构·c++
zhouwy1131 小时前
C++ STL标准模板库详解
c++
li1670902701 小时前
第二十五章:C++11(下)
c语言·开发语言·数据结构·c++
承渊政道1 小时前
【动态规划算法】(回文串问题解题框架与经典案例)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法