Effective C++ 条款01:视C++为一个联邦语言

  将C++视为一个由相关语言组成的联邦而非单一语言。在其某个次语言中,各个守则与通例都倾向简单、直观易懂、并且容易记住。C++次语言主要有:

  • C。说到底C++仍是以C为基础。区块、语句、预处理器、内置数据类型、数组、指针等都统统来自C。许多时候C++对问题的解法其实不过就是较高级的C解法,单当你以C++内的C成分工作时,高效编程守则映照出C语言的局限:没有模板,没有异常,没有重载……
  • Object-Oriented C++。这部分就是C with classes所诉求的:classes,封装,继承,多态,virtual函数。
  • Template C++.这是C++泛型编程的部分。它们带来崭新的编程泛型,也就是所谓的template metaprogramming(TMP, 模板元编程)
  • STL。STL是个template程序库,它对容器、迭代器、算法以及函数对象的规约有极佳的紧密配合与协调,然而templates及程序库也可以其他想法建置出来。

  C++并不是一个带有一组守则的一体语言;它是从四个次语言组成的联邦语言,每个次语言都有自己的规约。记住这四个次语言你就会发现C++容易了解很多。

猜你喜欢

转载自blog.csdn.net/u012069234/article/details/113930104