Effective C++ 学习笔记——条款01:视C++为一个语言联邦

Effective C++ 学习笔记——条款01:视C++为一个语言联邦

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

C++主要包含内容(次语言):

  1. C
    C++是以C为基础的编程语言,区块(block)、语句(statements)、预处理器(preprocessor)、指针(pointers)等均来源于C。
    但C语言的局限在于:没有模板(templates)、没有异常(exceptions)、没有重载(overloading)等均来源于C。
  2. Object-Oriented C++。
    包括:类(class)、构造与析构函数(ctor/dtor)、封装(encapsulation)、继承(inheritance)、多态(polymorphism)、虚函数(virtual)等均来源于C。
    该部分是面向对象设计之古典守则在C++上最直接的实施。
  3. Template C++。
    泛型编程(generic programming)是C++较难的一部分,也是大多程序员经验不足的地方(我就从来没用过…)。
  4. STL。
    STL是一个template程序库

例如:
在C中,一般使用值传递(Pass by value);
在面向对象的C++和模板C++中,使用常量引用传递(Pass by const reference)更加高效;
对于STL,因为迭代器是基于指针构造而成,直接使用值传递即可。

在不同的"子语言"中需要你用不同的策略,而非自始至终单一的方法,记住这一点对于理解学习C++这样功能强大的语言十分有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值