我想這樣做:如何在特定構造函數中使用STL priority_queue +比較器?
#include <queue>
#include <set>
class Comparator
{
public:
Comparator(SomeObject& rTool) : mrTools(rTool) {}
bool operator()(const std::string& a, const std::string& b)
{
return mrTools.doSomething(a,b);
}
private:
SomeObject& mrTools;
}
std::priority_queue<std::string, std::set<std::string>, Comparator> queue;
//<- this doesn't compile
我怎樣才能initalize這個隊列提供比較它在構造函數中所需要的參考?
無論如何,'priority_queue'的功能比'set'少。唯一(但可能是非常好的)選擇'priority_queue'的原因是效率。 –