重读经典-《Effective C++》Item1:视C++为一个语言联邦

本博客(http://blog.csdn.net/livelylittlefish )贴出作者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!

 

C++已经是个多重范型编程语言(multiparadigm programming language),一个同事支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、范型形式(generic)、元编程形式(metaprogramming)的语言。

 

如何理解这样一个语言?

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

 

C++4个次语言:

 

  • C

C++C为基础。区块(blocks)、语句(statements)、预处理器(preprocessor)、内置数据类型(built-in data types)、数组(arrays)、指针(pointers)等都来自C

  • Object-oriented C ++

(class)、封装(encapsulation)、继承(inheritance)、多态(polymorphism)、虚函数(virtual function)等都是面向对象设计在C++上的最直接实施。

  • Template C++ (generic programming)

C++的范型编程(generic programming)部分。他们带来新的编程范型(programming paradigm),也就是所谓的template meta programming(TMP,模板元编程)

  • STL

template程序库,对容器、迭代器、算法以及函数对象的规约有极佳的紧密配合与协调。

 

C++并不是一个带有一组守则的一体语言,而是由4个次语言组成的联邦语言,每个次语言都有自己的规约。

 

remember

C++高效编程守则视状况而变化,取决于你使用C++的哪一部分。

你可能感兴趣的:(编程,C++,语言,inheritance,preprocessor,Pointers)