priority_queue

来源:互联网 发布:海康威视 网络不可达 编辑:程序博客网 时间:2024/06/02 09:33

gcc中的stl源码在 /usr/include/c++/4.1.2/bits/


其中Priority_queue的构造函数比较奇葩

template<typename _Tp, typename _Sequence = vector<_Tp>,
        typename _Compare  = less<typename _Sequence::value_type> >
     class priority_queue
{

_Sequence  c;
_Compare   comp;

priority_queue(const _Compare& __x = _Compare(),
              const _Sequence& __s = _Sequence())
      : c(__s), comp(__x)
       { std::make_heap(c.begin(), c.end(), comp); }


}


其实这种写法挺好的,这样的话,就能将一个未排序的vector,直接进行heap操作


但是如果只是

priority_queue<int> que;


首先会调用vector的构造函数,然后再调用其拷贝构造函数


原创粉丝点击