Ich möchte, dies zu tun:Wie eine STL priority_queue + Komparator mit einem bestimmten Konstruktor verwenden?
#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
Wie kann ich initialisieren diese Warteschlange Komparator mit der Referenz sofern es im Konstruktor braucht?
Eine 'priority_queue' hat sowieso weniger Funktionalität als ein' set'. Der einzige (aber möglicherweise sehr gute) Grund, Prioritätspriorität vorzuziehen, ist die Effizienz. –