C++ Primer 5th 阅读笔记:前言
机器效率和编程效率
Its focus, and that of its programming community, has widened from looking mostly at machine efficiency to devoting more attention to programmer efficiency.
C++ 的焦点由早期对机器效率(运行速度、资源占用)的重视延伸到了对编程效率(编程耗时)的关注。
C++11 的目标
- Make the language more uniform and easier to teach and to learn
- Make the standard libraries easier, safer, and more efficient to use
- Make it easier to write efficient abstractions and libraries
- 语法更统一,易学、易教;
- 标准库更简单,更高效,更安全;
- 编写抽象和库更容易。
可以看到 C++11 修订的主要目的是降低 C++ 的使用难度,提高编程效率。
新加入的一些东西
- auto:类型推导,增加可读性;
- smart pointers(智能指针);
- move-enabled containers(移动容器)。
注意:一些编译器可能不支持某些最新的特性。
现代 C++ 的组成
- 低级语言,继承自 C,对硬件的控制性强;
- 高级特性。自定义类型,开发大型程序;
- 标准库,提供了常用的数据结构和算法。
学习方法
- 不要陷入低级语言的细节中;
- 使用自带的标准库,比如 string和vector,易于理解,使用,不易犯错。比如使用string来替代字符数组;
- 使用正确的代码风格;
- 舍弃错误的编程习惯;
章节类型
- 
基础类,必须掌握; 
  
- 
高级类,了解即可; 
  
- 
困难类,需要花充足的时间来掌握,是理解语言的关键。 
  
结构
- 第一部分、第二部分:语言基础和标准库,必须牢牢掌握这部分的知识;通过抽象,来习惯高阶编程。
- 第三部分、第四部分:自定义类,是面对对象编程和泛型编程的基础。第三部分是基础,第四部分是更专业化的高级内容。
术语表
每一章之后都有一个术语表,帮助读者重复已经学过的知识点。
编译器版本
书中的编译器是 GNU GCC,版本是 4.7.0。
| 年份 | 版本号 | 
|---|---|
| 1999 | 2.95 | 
| 2001 | 3.0 | 
| 2002 | 3.1 | 
| 2002 | 3.2 | 
| 2003 | 3.3 | 
| 2004 | 3.4.0 | 
| 2005 | 4.0.0 | 
| 2006 | 4.1.0 | 
| 2007 | 4.2.0 | 
| 2008 | 4.3.0 | 
| 2009 | 4.4.0 | 
| 2010 | 4.5.0 | 
| 2011 | 4.6.0 | 
| 2012 | 4.7.0 | 
| 2013 | 4.8.0 | 
| 2014 | 4.9.0 | 
| 2015 | 5.1 | 
| 2016 | 6.1 | 
| 2017 | 7.1 | 
| 2018 | 8.1 | 
| 2019 | 9.1 | 
| 2020 | 10.1 | 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号