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

本文探讨了C++作为多重范型编程语言的特点,将其分为C、Object-oriented C++、Template C++和STL四个次语言,并强调在不同次语言中遵循的编程原则和规范各有差异,以此帮助开发者更有效地进行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++的哪一部分。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值