Effective C++笔记(六)
2015-11-04 09:45
218 查看
条款41:区分继承和模板
"当对象的类型不影响类中函数的行为时,就要使用模板来生成这样一组类。当对象的类型影响类中函数的行为时,就要使用继承来得到这样一组类。"
条款42:明智地使用私有继承
”当私有继承是你可以使用的最合适的实现方法时,就要大胆地使用它。同时,广泛意义上来说,分层是应该优先采用的技术,所以只要有可能,就要尽量使用它。“
条款43:明智地使用多继承
不正确地使用多继承会导致一些麻烦的问题,关于这方面的讨论不少。
条款44:说你想说的,理解你所说的
就是说你要知道自己想干什么,知道自己正在干什么、已经干了什么,总之就是要真正理解C++。
条款45:弄清C++在幕后为你所写、所调用的函数
C++之所以被认为复杂,部分是因为C++编译器在背后为程序员做了很多事,自动生成并调用某些函数就是其中一项。弄清它们,才能更好地编写代码。
条款46:宁可编译和链接时出错,也不要运行时出错
编译和链接错误当时就可以看到,便于及时修复,而若在软件和系统运行时出错,就很麻烦了。
条款47:确保非局部静态对象在使用前被初始化
”你绝对无法控制不同被编译单元中非局部静态对象的初始化顺序。“
条款48:重视编译器警告
编译器作者当然不会无的放矢,既然发出警告了,就常常意味着潜藏着某些问题。除非确实明白编译器发出的警告,否则不要轻易忽略。
条款49:熟悉标准库
不要重复造轮子,何况你的轮子往往没人家造得好。
条款50:提高对C++的认识
认真学习一门语言不仅仅是学习它的语法和使用方法,还要学习它的原理和设计等。只有深刻理解了这门语言,才能更好地使用它。
"当对象的类型不影响类中函数的行为时,就要使用模板来生成这样一组类。当对象的类型影响类中函数的行为时,就要使用继承来得到这样一组类。"
条款42:明智地使用私有继承
”当私有继承是你可以使用的最合适的实现方法时,就要大胆地使用它。同时,广泛意义上来说,分层是应该优先采用的技术,所以只要有可能,就要尽量使用它。“
条款43:明智地使用多继承
不正确地使用多继承会导致一些麻烦的问题,关于这方面的讨论不少。
条款44:说你想说的,理解你所说的
就是说你要知道自己想干什么,知道自己正在干什么、已经干了什么,总之就是要真正理解C++。
条款45:弄清C++在幕后为你所写、所调用的函数
C++之所以被认为复杂,部分是因为C++编译器在背后为程序员做了很多事,自动生成并调用某些函数就是其中一项。弄清它们,才能更好地编写代码。
条款46:宁可编译和链接时出错,也不要运行时出错
编译和链接错误当时就可以看到,便于及时修复,而若在软件和系统运行时出错,就很麻烦了。
条款47:确保非局部静态对象在使用前被初始化
”你绝对无法控制不同被编译单元中非局部静态对象的初始化顺序。“
条款48:重视编译器警告
编译器作者当然不会无的放矢,既然发出警告了,就常常意味着潜藏着某些问题。除非确实明白编译器发出的警告,否则不要轻易忽略。
条款49:熟悉标准库
不要重复造轮子,何况你的轮子往往没人家造得好。
条款50:提高对C++的认识
认真学习一门语言不仅仅是学习它的语法和使用方法,还要学习它的原理和设计等。只有深刻理解了这门语言,才能更好地使用它。
相关文章推荐
- nullptr----C++11
- more efficitive c++(prefix postfix and operator new)
- c/c++中的预编译指令总结
- VC++ 对话框程序响应键盘消息的处理方法的说明(非常重要)
- 搭建C语言开发环境(Windows平台)汇总
- C/C++高阶语法:函数指针及其应用,回调函数
- ——黑马程序员——C语言中构造类型—结构体(二)
- c++ read
- 在Windows平台搭建C语言开发环境的多种方式
- C++除法实现方式及负数取模
- 对字符串中的字符进行统计
- c++11特性之std::thread--进阶二
- c++11特性之std::thread--进阶二
- leetcode笔记:House Robber II
- 高质量程序设计指南C++/c语言 第四章
- [转]VC++中CTime类Format参数详解
- c++11特性之std::thread--进阶
- c++11特性之std::thread--进阶
- C++搜索引擎—Xapian中文简介
- C++: 类(class) 随笔