setpriority_queue等容器如何加入自定义类
Posted bloomingflower
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setpriority_queue等容器如何加入自定义类相关的知识,希望对你有一定的参考价值。
以优先队列为例,从cppreference查得,它的模板为
template< class T, class Container = std::vector<T>, class Compare = std::less<typename Container::value_type> > class priority_queue;
所以我们要定义一个Compare类实现less的功能,在观察less类的内容,https://en.cppreference.com/w/cpp/utility/functional/less
std::less::operator() bool operator()( const T& lhs, const T& rhs ) const;(until C++14) constexpr bool operator()( const T& lhs, const T& rhs ) const;(since C++14) Checks whether lhs is less than rhs. Parameters lhs, rhs - values to compare Return value true if lhs < rhs, false otherwise.
constexpr bool operator()(const T &lhs, const T &rhs) const { return lhs < rhs; }
实现非常简单,只要对我们自定义的类实现operator()重载即可
以上是关于setpriority_queue等容器如何加入自定义类的主要内容,如果未能解决你的问题,请参考以下文章
DockerDocker原生网络(hostbridgenone)自定义网络容器通信