priority_queue Definition?
-
Hi,
Wieso steht in der priority_queue diese Definition:
template < class T, class Container = vector<T>, class Compare = less<typename Container::value_type> > class priority_queue;und nicht diese, kuerzere und imo besser lesbare Version:
template < class T, class Container = vector<T>, class Compare = less<T> > class priority_queue;?
Kann value_type != T sein? Falls ja, wann und wieso?
-
Eisflamme schrieb:
Kann value_type != T sein? Falls ja, wann und wieso?
Wenn der Benutzer wider besseres Wissen sich das mit Gewalt so aussucht.
priority_queue<int,vector<char> > pq; pq.push(66+256); pq.push(65); pq.push(67+512); while(!pq.empty()){ cout<<pq.top()<<'\n'; pq.pop(); }
-
Oh. Okay, danke!
Macht so was Sinn oder sollte der Container nicht besser vorgeben, dass der untergeordnete Container den gleichen Typ wie die priority_queue nutzen sollte? Aber das geht ja dann erst mit concepts, oder?