编译器的相容性
来源:互联网 发布:centos如何安装mysql 编辑:程序博客网 时间:2024/04/30 10:45
2011年8月12日,ISO(国际标准化组织)批准了一个新的C++版本,称为C + + 11。C + + 11增加了一套新的功能在C + +语言!使用这些新功能,完全是可选的-但你无疑会发现其中一些有帮助的。我们将只覆盖的新功能的一部分在这里(那些你最有可能实际使用)。
注意,因为C + + 11是新的(在写作的时候),只有现代编译器支持它,而他们中的大多数只支持部分。我将使用Visual Studio 2010样品码速成版。与其他的编译器的相容性可能会有所不同。如果您使用的是旧版本的Visual Studio,现在是一个很好的时间来升级到Visual Studio 2010的表达,即使它的C + + 11的支持是参差不齐最好在写作的时候。
C + + 11的目标和设计
Bjarne Stroustrup的C + + 11的目标特征等:
基于C++的优势而不是试图扩展C + +的新领域的可能是弱(如Windows应用程序重GUI),把重点放在做什么好,甚至更好。
C + +更容易学习,使用,和教师提供的功能,使语言更一致和更容易使用。
为此,该委员会将共同的语言试图遵循以下原则:
保持稳定,与旧版本的C + +和C尽可能兼容。程序在C + + 03下一般应该还是C + + 11下工作。
保持核心语言扩展的数量降到最低,并将标准库中的变化的体积(客观的,不是很好这个释放)
提高抽象机制(类,模板)而不是增加机制来处理特定的,狭窄的情况。
添加新手和专家的新功能。一个小的什么人!
增强型安全,防止意外的错误。
提高性能,并允许C++与硬件直接工作。
考虑可用性和生态问题。C + +需要与其他工具的工作,容易使用和教导,等
由于C + + 11不是从C + + 03大的偏离,它真的不需要任何更多的介绍。我们就跳进新功能在下一课。
统一的初始化
如上所述,C + + 03在如何让你将不同类型的数据是不一致的。初始化列表走很远的路去帮助使数据更加一致的初始化。然而,C++ 11有一个把戏袖子叫做统一的初始化。不像初始化列表,它采取的形式:
1
数据元素类型变量= {,};
统一的初始化语法有如下形式:
1
{数据类型变量,元素};//注意:没有赋值操作符
这种风格的初始化将普通的聚合数据类型的工作(结构和C样式数组)和类。类,下面的规则进行观察:
如果有一个initialization_list适当类型的构造函数,该构造函数使用
否则,类的元素是使用适当的构造函数初始化
- 编译器的相容性
- 指针赋值时的相容性
- 網頁設計必備 - 測試網站瀏覽器相容性的 WEB Application
- 網頁開發人員的IE9相容性須知
- 区分事件的独立性与互不相容性
- 公理系统的相容性、独立性和完备性
- 在同一台电脑上调试网页在IE6、IE7的相容性
- [CSS Hack]解決IE6、IE7、IE8、Firefox的瀏覽器相容性問題!
- [CSS Hack]解決IE6、IE7、IE8、Firefox的瀏覽器相容性問題!
- 约束满足问题的求解方法之基于回溯的搜索和基于相容性技术的约束传播
- WCF开发之版本相容性
- 我的编译器 C3编译器
- CL编译器和LINK编译器的使用方法
- VC编译器与GCC编译器的区别
- 【编译器原理】编译器的工作过程
- GCC编译器的使用
- C-编译器的设计
- 一个简明的编译器
- freemarker取list的第一个元素 循环用法
- 28个不得不看的经典编程算法!!
- 垂直固定不动,水平可移动
- Nexus搭建Maven私服(五) Maven远程部署web工程
- 人人相册爬虫--python细节复习
- 编译器的相容性
- EasyX简易绘图实例
- LeetCode:Reverse Integer
- Java第十课
- 查看oracle执行计划方法( 一)
- 黑马程序员——【Java】面向对象——内部类
- java开发的23种设计模式
- ConvertUtils.register注册转换器
- ubuntu 13.10:bash: ./arm-none-linux-gnueabi-gcc: No such file or directory