C++11 初始值{}与()的区别
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,#include #include using namespace std;/* * A1 类对象成员变量的默认值; *//B1 初始值列std::initializer_list * B2 使用初
千家信息网最后更新 2025年01月23日C++11 初始值{}与()的区别
#include #include using namespace std;/* * A1 类对象成员变量的默认值; *//B1 初始值列std::initializer_list * B2 使用初始值列initializer_list * * * */class Hello{ char* hello = 0;//A1 类对象成员变量的默认值;public: ~Hello(); Hello(const char* h); Hello(const char* h,const char* j); Hello(std::initializer_list);//B1 初始值列 Hello(const Hello &obj);};Hello::Hello(const Hello &obj){ cout <<"call copy constructor "< vals){ char* x=(char*)vals.begin(); hello=strdup(x); cout <<__func__<<":" <<__LINE__<<" Hello(std::initializer_list)"<hello) free(this->hello);}#endifint main(){ int a{0}; int b(0);// int c{0.3}; error 不可窄化 int d(0.3); Hello H1("H1","H1"); Hello H2{"H2","H2"}; //B2 使用初始值列initializer_list Hello H3{"H2","H2","XX"}; //使用初始值列initializer_list return 0;}
总结:
int b(1.4)可以窄化与类型转换。{}不可以。
初始化用户自定义的类对象时,{}会优先使用initializer_list的构造函数。
对象
变量
成员
函数
用户
类型
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库没有主键能查询吗
徐州智能化软件开发供应商
ntp服务器连接配置
网络安全教育答题江西
老师护苗网络安全课观后感
中国人网络安全故事
南昌市八诚互联网科技有限公司
网络安全重点保障方案
mac作为文件服务器
无锡高性能服务器代理厂家
福建网络安全管理系统
软件测试面试题 数据库
怎么查看网络安全日志
网络安全王营康
数据库一对多数据匹配
关于现代通信网络技术的问题
科技与人文交叉网络安全
单位网络安全宣传片
邀玩网络技术有限公司珠海
久久玖互联网科技
中控考勤软件开发包
新天堂2服务器修改
数据库安装步骤2019版
互联网科技时代背景音乐
水利专业软件开发
数据库检测不通过是什么意思
珠海网络安全大会
双ip数据库
代理记账软件开发做账
为什么要使用数据库技术