STL 中的地图类型有下一个类型:
std::map< Key, Data, Compare, Alloc >
作为我们可以传递Compare
谓词的模板参数之一,为什么 map 接受这个谓词作为模板参数而不是构造函数中的对象?
它可以具有更灵活的接口,例如boost::function< bool, const T&, const T& >
在构造函数中。
当然,我理解在设计 STL 时不存在 boost,但设计师可以在 boost::function 上创建类似的东西。
我相信它有一些深刻的原因。
已编辑
抱歉,您提出了虚拟问题,地图具有相同的可能性:)
在您回答后我的问题没有意义。