在高处编程

Posted on March 26, 2013

C++之父在一个讲座上说过,C++是一门轻量级的抽象语言。轻量级,意味着C++尽量减小因为多加的抽象带来的负担。抽象语言,意味着C++有着很强的抽象能力,C++的抽象能力,有了BOOST这样的库之后被极大的提升了,配合着BOOST, 我将 C++称呼为 编译型脚本

C++是一门抽象语言,使用C++的时候,千万不要去思考编译器到底是如何安排内存的。认真你就输了。使用C++的时候,千万不要去思考,到底对象如何创建,如何/何时撤销的。认真你就输了。你一定要在心里这么想:这么用就是我要的。不要去想到底发生了什么。如下面的代码

这样的代码,千万不要去思考内存的分配,std::string 的实现过程,== 运算符怎么实现的。你唯一关心的问题就是:这样一段代码是否表达了你心里所想的。这一段代码是否表达了你心里所要做的事情。

如果是,请千万不要考虑如何写能更快。请一定要相信编译器,编译器知道了你的想法后,一定会生成最优化的代码。

有的人说,使用了BOOST之后,编译很慢。编译慢,说明编译器在编译期执行了大量的工作。编译期做的事情越多,意味着运行期做的事情越少。不要怀疑编译的能力。

C++是一门轻量级的抽象语言,请站在高处进行思维,请相信编译器的优化。

Comments