編譯器:
Mingw-w64
用 C++11 下去編
問題(Question):
標題可能下的不太好...
先講問題,看到幾個 priority_queue 在指定自己的比較方法時的寫法:
1. 這邊的 compare 只是 function
std::priority_queue<Node, std::vector<Node>, bool (*)(Node, Node)>
PQ(compare)
不太理解 bool (*)(Node, Node) 這個的寫法是什麼,有甚麼名稱嗎?
也可以直接用 lambda expression
priority_queue<node, vector<node>, bool (*)(const node &, const node &)>
PQ([](const node &a, const node &b) -> bool {
return a.v > b.v;
});