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

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

C++ 标准多次使用适配器这个词:

  • 分配器适配器(std::scoped_allocator_adaptor)
  • 容器适配器(std::queuestd::priority_queuestd::stack)
  • 迭代器适配器(std::reverse_iteratorstd::move_iterator)

这个词本身好像并没有在标准中定义。我在想这个词是用来指代设计模式的,但似乎在 adapter 中设计模式,适配器应该只适配接口(interface),而不是行为。

问题:因此我想知道:

  • C++ 标准中适配器的大致定义是什么?
  • 是否符合适配器设计模式?
  • 如果不是,那么与 C++ 标准中的适配器最匹配的设计模式是什么(适配器、代理、外观、装饰器...)?

最佳答案

在某些技术、设计模式意义上,“适配器”一词并未使用。它被用作英文单词:适应的事物。没有比这更严格的定义了。

容器适配器修改容器的接口(interface)。迭代器适配器修改迭代器的接口(interface)。等等。你真的想多了。

关于c++ - C++ 标准中的适配器是什么?它与适配器设计模式有何关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53343574/

相关文章:

c++ - Boost.Log,在文件名或配置文件的目标值中使用自定义属性

c++ - 使用带有 C 结构的 C++ 模板进行内省(introspection)?

c++ - wxWidgets中快速设置事件转发的方法?

android - 将水平 ScrollView 添加到 ListView

java - 尝试向 recyclerview 添加元素(ConcurrentModificationException)

java - 使用 Fragment 强制关闭图库

c++ - 在每个子 C++ 的特定函数调用上调用父函数

java - JDK 中的模板设计模式,找不到定义要按顺序执行的方法集的方法

design-patterns - 观察者?设计模式

design-patterns - 你能在任何需要单例的地方使用依赖注入(inject)吗?