本文共 490 字,大约阅读时间需要 1 分钟。
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的构造函数,然后再调用其拷贝构造函数
转载地址:http://trhti.baihongyu.com/