C++适配器概括

C++ primer中关于适配器的定义——适配器(adaptor): 是使一种事物的行为类似于另外一事物的行为的一种机制。

这个定义初学时觉得好抽象。

为了理解C++中的适配器,不妨先了解物理上的适配器。

物理上的适配器就是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。比如:电源适配器、三角架基座转接部件、USB与串口的转接设备等。

而C++上的适配器其实是物理上的适配器含义的引申,也是一种接口的转换器。比如两个模块或者两个类等需要互相传递参数,互相通信,但是接口类型不相同,为了让两者能够进行操作,中间加上适配器就能起转换操作的作用。比如类A调用B类的一个函数,这个函数的参数是DATETIME,但是类A调用的时候只能传STRING进去,那适配器就起了一个转换作用,即适配将A的数据转换为DATETIME后再调用该函数。

STL定义了3种形式的适配器:容器适配器,迭代器适配器,函数适配器。

c++

相关推荐