C++标准库2nd 学习摘要Chapter2(一)
2014-11-20 09:31
351 查看
C++标准的历史
C++98 首个C++标准,官方称之为:Information Technology-Programming Languages-C++,ISO/IEC 14882:1998C++03 对C++98少量的修改,IOS/IEC 14882:2003
TR1 扩展前面两个版本,官方称之为:Information Technology-Programming Languages-Technical Report on C++ Library Extension,ISO/IEC TR 19768:2007,扩展部分包含在命名空间std:tr1中
C++11 对语言及库都有重大的改善,官方称之为:Information Technology-Programming Languages-C++,ISO/IEC 14882:2011
C++11 及 C++98 兼容性
C++11 兼容 C++98 ,理论上能够以C++98编译的程序都能够由C++11编译,当然需要修复该程序引入了C++11的关键字的问题
为了使程序能够在不同版本的C++编译器编译并利用C++11的一些优秀特征,可以判断 __cplusplus 的值
对于C++11, 有 #define __cplusplus 201103L 成立
对于C++98,C++03 有 #define __cplusplus 199711L 成立
然而,__cplusplus 的值并不如上所述,因为编译器有时候会提供不同的值
需要注意的是:向后兼容只是对源代码编译来说的,二进制并不能够保证被兼容,因此链接一个由C++11编译的代码与C++98编译的代码将可能失败,特别是出现如下情况,C++11对已存在的操作符返回了不同的类型,链接时存在两个版本,仅返回值类型不同,而C++中,仅靠返回值类型来区分重载是不允许的
相关文章推荐
- C++标准库2nd 学习摘要Chapter3(二)
- 《算法导论》学习摘要chapter-6——优先队列
- The H.264 Advanced Video Compression Standard(second edtion) Chapter 1 学习摘要
- 《算法导论》学习摘要chapter-7——快速排序
- 《算法导论》学习摘要chapter-6——堆排序
- asp学习摘要3
- [学习笔记]Thinking in Java (the 2nd edition) Study Note (1)
- [学习笔记]Inside Windows 2000(1)Chapter 1 Concepts and Tools
- [学习笔记]Thinking in Java (the 2nd edition) Study Note (4)
- C&C++标准库学习--<ctype>--参考
- ASP学习摘要
- Hibernate学习摘要(1)
- [学习笔记]Inside WIN2K (2) Chapter 2 System Architecture
- [学习笔记]Thinking in Java (the 2nd edition) Study Note (1)
- [学习笔记]Thinking in Java (the 2nd edition) Study Note (4)
- 学习JSTL摘要
- ASP学习摘要
- [学习笔记]Thinking in Java (the 2nd edition) Study Note (3)
- 学习JSTL摘要2——CORE库
- Java编程思想(2nd)学习笔记(9)-1