[英]C++ STL container priority queue initialisation
来自http://www.cplusplus.com/reference/queue/priority_queue/priority_queue/
//initialize (1)
explicit priority_queue (const Compare& comp = Compare(),
const Container& ctnr = Container());
//range (2)
template <class InputIterator>
priority_queue (InputIterator first, InputIterator last,
const Compare& comp = Compare(),
const Container& ctnr = Container());
基于类似问题的答案,我正在使用
priority_queue<int, vector<int>, greater<int> > pq
但是,此定义与参考站点中给定的1或2不匹配。 那么这个初始化如何工作?
您只在查看构造函数的参考。
您需要查看的模板参数列表是类模板本身的模板参数列表:
template<
class T,
class Container = std::vector<T>,
class Compare = std::less<typename Container::value_type>
> class priority_queue;
您要实例化一个std::priority_queue
,同时显式地指定所有三个模板参数,并使用第一个构造函数(这不是函数模板,第二个构造函数是)并采用其两个参数的默认值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.