std::priority_queue
的元素比较器参数是第三个模板参数,导致每次需要自定义元素比较器时都要在第二个参数位置处写一长串的 std::vector<...>
。如果元素类型比较复杂,就更难写了。如果可以有一个类似于
_
这样的 placeholder 可以指定对应位置的参数使用默认值就好了。既可以是模板参数,也可以是函数参数。例如
std::priority_queue<T, std::vector<T>, MyComp>
就可以简写为 std::priority_queue<T, _, MyComp>
。