学习笔记。
第一章 从C转向C++
条款1:尽量用const和inline而不用#define
为什么呢?1.安全问题,2.方便调试维护,3.等同的速度。本条款可进一步理解为“尽量用编译器而不用预处理”。同时作者推荐了一种全局变量的定义使用模式。同时推荐了模板函数和stl。
条款2:尽量用<iostream>而不用<stdio.h>
为什么呢?类型安全和扩展性。作者强调<iostream>引用的是std名字空间。本人认为,这种c++与c的安全、扩展性、效率、易维护之争,在对效率影响不大的地方是推荐c++风格,在效率优先的地方还是应该倾向于c风格。当然,“作者在假定你如果打算使用c++,那么最好遵循以下条款,我想作者并没有表达c不如c++这种观点”。
条款3:尽量用new和delete而不用malloc和free
为什么呢?c++的内存管理比c容易的很重要的原因在于c++隐藏了一些固有操作,例如new这个操作隐藏了调用构造函数这个过程,delete函数隐藏了调用析构函数的过程,这样就使得一些优秀的编码模式隐藏在了语法的内部。当然,如果将构造析构与对象空间的产生消亡分离开是有益的,采用c风格可能更适合。
条款4:尽量使用c++风格的注释
为什么呢?方便。同时作者指出,在混合编程时c风格注释有时是更优的,主要是编译器版本问题。