=和{}赋值区别

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

而=会把小数转换为整型

相关推荐
aqiu11111110 分钟前
【C++算法打怪专栏】LeetCode 1. 两数之和(哈希表解法总结)
c++·算法·leetcode
fpcc27 分钟前
c++编程实践—thread_local变量的应用
c++
j7~40 分钟前
【仿 RabbitMQ 项目】发布订阅消息队列 (篇九):队列数据管理,内存镜像 + SQLite 持久化实现
数据库·c++·分布式·sqlite·rabbitmq·队列数据管理
dtq042442 分钟前
C++ - 变量
开发语言·c++
傻啦嘿哟44 分钟前
天气数据爬虫:基于Scrapy爬取全国天气,做可视化大屏
c++·爬虫·scrapy
夏虫不可与之言冰1 小时前
使用Flash Download Tool给ESP32烧录固件
c语言·c++·windows·单片机·物联网·iot
晴天的雨.9921 小时前
【C++】 priority_queue知识点总结
开发语言·数据结构·c++
小七在进步1 小时前
C++内存管理:new/delete vs malloc/free深度解析
android·java·c++
别动我齐刘海12 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
jimy116 小时前
C++ 虚函数表:基类和派生类共用一张 vtable 吗?
开发语言·c++