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

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

C++是一个多重泛型的编程语言,支持面向过程、面向对象、函数形式、泛型形式、元编程形式的语言。四种次语言:

  1. C
  • 面向过程
  • C++语言是在C语言的基础上进行的扩充,一开始被认为是C with class。这部分包含C语言的:区块(blocks),语句(statements),预处理(preprocessor),内置数据类型(built-in data types)、数组(arrays)、指针(pointers)等。C++是C语言的超集,以C为基础,添加了面向对象、模板,STL等特性。如果用C类型,就显示出了局限:没有模板(templates),异常(exceptions),重载(overloading)。
  1. Object-Oriented C++
  • 面向对象
  • C with Class所追求的:classes(类:包括类的属性和方法,构造和析构函数),封装(encapsulation),继承(inheritance),多态(polymorphism),virtual函数(虚函数,动态绑定)等等。这一部分是面向对象在C++上的最直接的实施。
  1. Template C++
  • 泛型编程
  • 泛型编程是一种语言机制,通过它可以实现一个通用的标准的容器库,泛型编程可以在多种类型上都能操作,可以重复使用。泛型是一种抽象数据类型,但是泛型不属于面向对象,而是面向对象的补充。- 而由于templates强大的威力,也带来了新的我编程泛型——metaprogramming(TMP,模板元编程)。编译器使用模板产生暂时性的源码,然后再和剩下的源码混合并编译。元编程最大的目的就是用代码生成/操纵代码。
  1. STL
  • STL是一个惠普实验室开发的模板程序库,包含了容器(containers)、迭代器(iterators)和算法(algorithms)以及函数对象(function objects)的规约有极佳的紧密配合和协调。STL的目的是标准化组件,这样就不需要重新开发,可以直接使用现成的组件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值