01:View C++ as a federation of languages

将C++视为一个由相关语言组成的联邦而非单一的语言


C++包含四个次要语言

  1. C    C++仍是以C为基础。区块(blocks)、语句(statements)、预处理器(preprocessor)、内置数据类型(built-in data types)、数组(arrays)、指针(pointers)。但是C语言没有模板(templates)、异常(exceptions)、重载(overloading)……
  2. Object-Oriented C++     classes(包括构造函数和析构函数),封装(encapsulation)、继承(inheritance)、多态(polymorphism)、virtual函数(动态绑定)……
  3. Template C++    C++的泛型编程
  4. STL    STL是个template库。对容器(containers)、迭代器(iterators)、算法(algorithms)以及函数对象(function objects)的规约有极佳的紧密配合与协调。

       对内置类型来说pass-by-value通常比pass-by-reference高效
       对内置类型来说对用户自定义构造函数和析构函数,pass-by-reference-to-const更好

REMEMBER
  • C++高效编程守则视状况而变化,取决于使用C++哪部分

你可能感兴趣的:(01:View C++ as a federation of languages)