"Effective C++ 简体中文版"
本书籍是 C++ 经典书籍,旨在帮助 C 程序员更好地转向 C++。本书籍从 C 转向 C++ 的角度出发,讨论了 C++ 的特点和优点,并且提供了一些实用的建议和经验。
知识点:
1. C++ 与 C 的区别
C++ 是 C 的超集,C 的所有技术都可以继续使用,但很多用起来又不太合适。例如,C++ 程序员会认为指针的指针看起来很古怪,他们会问:为什么不用指针的引用来代替呢?C++ 提供了更多的选择,可以考虑更多的设计时的选择。
2. 宏与编译器
#define 经常被认为不是语言本身的一部分。这是问题之一。使用 const 和 inline 可以取代 #define,从而避免预处理宏带来的问题。
3. const 和.inline 的使用
const 可以用来定义常量,例如:const double ASPECT_RATIO = 1.653;这种方法很有效。inline 可以用来定义内联函数,例如:inline void func() { ... }。
4. 指针常量的定义
定义指针常量时,除了指针所指的类型要定义成 const 外,重要的是指针也经常要定义成 const。例如,要在头文件中定义一个基于 char* 的字符串常量,你要写两次 const:const char* const auth。
5. 函数重载和缺省参数
C++ 提供了函数重载和缺省参数的功能,可以在设计时考虑更多的选择。
6. 构造和析构函数
C++ 提供了构造和析构函数,可以在设计时考虑更多的选择。
7. 自定义操作符
C++ 提供了自定义操作符的功能,可以在设计时考虑更多的选择。
8. 内联函数
C++ 提供了内联函数的功能,可以在设计时考虑更多的选择。
9. 引用和友元
C++ 提供了引用和友元的功能,可以在设计时考虑更多的选择。
10. 模板和异常
C++ 提供了模板和异常的功能,可以在设计时考虑更多的选择。
11. 名字空间
C++ 提供了名字空间的功能,可以在设计时考虑更多的选择。
本书籍为 C 程序员提供了一个系统的指南,帮助他们更好地转向 C++,并且提供了一些实用的建议和经验。