视c++为一个联邦

来源:互联网 发布:什么是淘宝美工 编辑:程序博客网 时间:2024/06/04 19:51

《Effective C++》

--------条款01:视c++为一个联邦--------

1.过程形式、函数形式

面向过程是以事件为中心、以算法为驱动的编程方式,面向过程编程的有C、汇编等语言。C++是在C的基础上加上一些面向对象特性,所以c++仍然支持所有的C规范,既也支持过程形式和函数形式编程。

2.面向对象形式(OO)

  面向对象是以对象为中心、以消息为驱动的编程方式,其最基本的3个特性是封装、集成和多态。

封装:隐藏对象内部属性和方法,使用户只能使用指定接口,访问具有权限的属性及方法。

继承:通过继承,子类可以使用父类的属性和方法、

多态:内部的多种方法使用一个接口表示的形式。

面向对象形式编程有C++、Java、c#

3.泛型形式、元编程形式

C++用模板来实现泛型编程和元编程,模板分为函数模板和类模板。

模板也叫参数类型多态化,类型在编译时期确定,给出一套代码就可以用来生成多种具体的类和函数,从而大大提高编程的效率。

 

函数模板的基本格式:

template<参数说明>
函数头
函数体

     函数模板的例子:

template<class T>
T max(T param1
T param2)
{
//
此处为函数体
}

类模板的基本格式:

template <类型名 参数名1,类型名参数名2,…>
 class 类名

 {
  类声明体

 };

类模板的例子:

template <class T>
 class Smemory
 {…
  public:
  void mput(T x);
  …
 }

4.    STL标准模板库

STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分。

STL是一些容器的集合,这些容器有列表(List)、向量(Vector)、集合(Set)、映射(Map)、栈(Stack)、队列(Queue);

 

C++标准中,STL被组织为下面的17个头文件:<algorithm><deque><functional><iterator><array><vector><list><forward_list><map><unordered_map><memory><numeric><queue><set><unordered_set><stack><utility>

0 0
原创粉丝点击