隐藏c ++中的不同std :: map比较参数

问题描述 投票:0回答:1

我有一个看起来像这样的课:

template<typename comparer>
class MyClass {
  std::map<std::uint32_t, MyElementType, comparer> entries;
public:
  void doSomething(std::uint32_t key, const MyElementType& el) {
    ...
  }
};

而且我想在MyClass经过不同比较器的专门化后使用,但该方法与特定比较器无关。什么是最优雅的解决方法?

c++ dictionary templates polymorphism
1个回答
2
投票

std::function用作比较器。

© www.soinside.com 2019 - 2024. All rights reserved.