C++11新特性之大括号初始化的方式有哪些
发表于:2023-03-24 作者:安全数据网编辑
编辑最后更新 2023年03月24日,这篇文章给大家分享的是有关C++11新特性之大括号初始化的方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。C++11之前,C++主要有以下几种初始化方式://小括号
这篇文章给大家分享的是有关C++11新特性之大括号初始化的方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
C++11之前,C++主要有以下几种初始化方式:
//小括号初始化string str("hello");//等号初始化string str="hello";//大括号初始化struct Studnet{ char* name; int age;};Studnet s={"dablelv",18}; //纯数据(Plain of Data,POD)类型对象Studnet sArr[]={{"dablelv",18},{"tommy",19}}; //POD数组
虽然c++03提供了多样的对象初始化方式, 但不能提供自定义类型对象的大括号初始化方式,也不能在使用new[]的时候初始化POD 数组。
幸好,C++11扩充了大括号初始化功能,弥补了C++03的不足。
class Test{ int a; int b; public: C(int i, int j); }; Test t{0,0}; //C++11 only,相当于 Test t(0,0); Test* pT=new Test{1,2}; //C++11 only,相当于 Test* pT=new Test{1,2}; int* a = new int[3]{ 1, 2, 0 }; //C++11 only
此外,C++11大括号初始化还可以应用于容器,终于可以摆脱 push_back()
调用了,C++11中可以直观地初始化容器了:
// C++11 container initializer vectorvs={ "first", "second", "third"}; map singers ={ {"Lady Gaga", "+1 (212) 555-7890"},{"Beyonce Knowles", "+1 (212) 555-0987"}};
因此,可以将C++11提供的大括号初始化作为统一的初始化方式,既降低了记忆难度,也提高的代码的统一度。
此外,C++11中,类的数据成员在申明时可以直接赋予一个默认值:
class C {private: int a=7; //C++11 only};
感谢各位的阅读!关于"C++11新特性之大括号初始化的方式有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
我的世界自制神奇宝贝服务器
炉石传说服务器干扰链接
上海德怡网络技术
云服务器可以装多少域名
c 连接数据库语句
服务器运营商上市公司
服务器安全app有哪些
vmware 远程服务器
国家很多的数据库都在贵阳吗
腾讯云云服务器安全设置
黑子网络安全专业
黄岛区电脑软件开发
上海工业软件开发报价
数据库锁竞争
国家怎样保障网络安全
数据库可以安装在d盘么
检索数据库有哪些
服务器启动选择键盘模式
软件开发验收计划
数据库的语言分类
pb连接数据库显示找不到表
手机软件开发要学什么专业
天道云服务器
数据库的数据怎么实时改变
广东华为服务器维修续保
虚拟机服务器管理
营养师数据库
服务器管理器手机版
武大国家网络安全学院新校址
河北东川网络技术