插入迭代器是怎么实现的?是在容器类上增加接口还是在迭代器类上增加接口?
插入迭代器是怎么实现的?是在容器类上增加接口还是在迭代器类上增加接口?
[解决办法]
呃 其实只是调用了一下容器的方法而已。
[解决办法]
配器也是一种常用的设计模式: 将一个class的接口转换为另一个class的接口,使得原本因接口不兼容而不能合作的classes可以一起运作。一个通俗的例子是我们笔记本的电源,一般都会有一个适配器把220v
的电压降到适合笔记本工作的电压范围,这样笔记本就可以工作在我们常用的电压环境了,这就扩大了笔记本的使用场景,在软件开发过程中也是一样的道理。
STL提供三种适配器:改变容器接口的容器适配器、改变迭代器接口的迭代器适配器以及改变仿函数接口的仿函数适配器。前两者都较为简单,最后一种则是灵活性最大的,有了它我们可以构造非常复杂的表达式策略。
容器适配器常见的是stack和queue,他们的底层存储都是用deque完成的,再在deque上封装一层接口以满足stack和queue的要求。
具体可以看看《C++标准程序库》以及〈《STL源码剖析》