视 C++ 为一个语言联邦
C++ 已经是个多重范型编程语言,一个同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式的语言。所以,我们该如何理解这样一个语言呢?
最简单的方法是将 C++ 视为一个由相关语言组成的联邦而非单一语言。
在其某个次语言中,各种守则与通例都倾向简单、直观易懂、并且容易记住。
- C
- Object-Oriented C++
- Template C++
- STL
C++ 高效编程守则视状况而变化,取决于你使用 C++ 的哪一部分。
例如,在基于 C 语言的程序设计中,基本类型传参时传值比传引用更有效率。然而当你接触 Object-Oriented C++ 时会发现,传常量指针是更好的选择。但是你如果又接触到了 STL,其中的迭代器和函数对象都是基于 C 语言的指针而设计的,此时传值又比传引用更好。
小结
- 将 C++ 视为一个由相关语言组成的联邦而非单一语言。
- C++ 高效编程守则视状况而变化,取决于你使用 C++ 的哪一部分。