什么是C ++标准中的适配器?它与适配器设计模式有何关系?

时间:2018-11-16 18:35:58

标签: c++ design-patterns adapter standards c++-standard-library

C ++标准多次使用 adaptors 一词:

  • 分配器适配器(let RN = me.recordID.recordName
  • 容器适配器(std::scoped_allocator_adaptorstd::queuestd::priority_queue
  • 迭代器适配器(std::stackstd::reverse_iterator

似乎该词本身未在标准中定义。我当时以为这个词是用来指代设计模式的,但是似乎在adapter设计模式中,适配器应该只适应接口,而不是行为。

问题:因此,我想知道:

  • 在C ++标准中,适配器的大致定义是什么?
  • 它是否与适配器设计模式相对应?
  • 如果没有,那么与C ++标准中的适配器(适配器,代理,外观,装饰器...)最匹配的设计模式是什么?

1 个答案:

答案 0 :(得分:8)

“适配器”一词在某种技术上,设计模式上没有使用。它被用作英语单词:一种可以适应的事物。不需要比这更严格的定义。

容器适配器修改容器的接口。迭代器适配器修改迭代器的接口。依此类推。您真的对整个事情都考虑不周。