博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《深入理解C++11:C++ 11新特性解析与应用》——2.14 本章小结
阅读量:6429 次
发布时间:2019-06-23

本文共 957 字,大约阅读时间需要 3 分钟。

2.14 本章小结

在本章中,我们可以看到C++11大大小小共17处改动。这17处改动,主要都是为保持C++的稳定性以及兼容性而增加的。

比如为了兼容C99,C++11引入了4个C99的预定的宏、__func__预定义标识符、_Pragma操作符、变长参数定义,以及宽窄字符连接等概念。这些都是错过了C++98标准,却进入了C99的一些标准,为了最大程度地兼容C,C++将这些特性全都纳入C++11。而由于标准的更新,C++11也更新了__cplusplus宏的值,以表示新的标准的到来。而为了稳定性,C++11不仅纳入了C99中的long long类型,还将扩展整型的规则预先定义好。这样一来,就保证了各个编译器扩展内置类型遵守统一的规则。此外,C++11还将做法不一的静态断言做成了编译器级别的支持,以方便程序员使用。而通过抛弃throw()异常描述符和新增可以推导是否抛出异常的noexcept异常描述符,C++11又对标准库大量代码做了改进。

在类方面,C++11先是对非静态成员的初始化做了改进,同时允许sizeof直接作用于类的成员,再者C++11对friend的声明予以了一定扩展,以方便通过模板的方式指定某个类是否是其他类或者函数的友元。而final和override两个关键字的引入,则又为对象编程增加了实用的功能。而在模板方面,C++11则把默认模板参数的概念延伸到了模板函数上。而且局部类型和匿名类型也可以用做模板的实参。这两个约束的解除,使得模板的使用中需要记忆的规则又少了一些。而外部模板声明的引入,C++11又为很看重编译性能的用户提供了一些优化编译时间和内存消耗的方法。

在读者读完并理解了这些特性之后,会发现它们几乎像是一台轰鸣作响的机器上的螺丝钉、润滑油、电线丝。C++标准委员会则通过这些小修小补,让C++11已有的特性看起来更加成熟,更加完美。在这一章里,虽然有的特性会带来一些“小欣喜”,但我们还看不到脱胎换骨、让人眼前一亮的新特性。不过这些零散的特性又确实非常重要,是C++发展中必要的“维护”过程的必然结果。

不过如同我们讲到的,C++11其实已经看起来像一门新的语言了。在接下来的几章中,我们会看到更多更“闪亮”的新特性。如果读者已经等不及了,那么请现在就翻开下一页。

转载地址:http://eeiga.baihongyu.com/

你可能感兴趣的文章
atol 函数
查看>>
interleave two text files with specified lines
查看>>
大数据系列修炼-Scala课程11
查看>>
JS Array ECMAScript5 Methods
查看>>
PHP数组详解
查看>>
实例详解JSP内置对象
查看>>
windows 修改xhsell安全加密配置
查看>>
Struts2 简单的上传文件并且显示图片
查看>>
Educational Codeforces Round 31 A. Book Reading【暴力】
查看>>
vijos1909寻找道路
查看>>
Android spinner控件的实现
查看>>
Linux中iptables学习
查看>>
【AdaBoost算法】积分图代码实现
查看>>
j2ee常用方法
查看>>
201621123018《Java程序设计》第9周学习报告
查看>>
test
查看>>
django cookie session操作
查看>>
哪里可以知道有哪些最新的论文?
查看>>
python学习之老男孩python全栈第九期_数据库day002知识点总结 —— MySQL数据库day2...
查看>>
配置tomcat插件
查看>>