3

テンプレートのグラフ クラスを作成しようとしているので、どうにかしてエッジを格納する必要があります。2 つの Node スマート ポインターで EdgeValue にアクセスできたらいいのにと思いました。しかし、私は実際には知りません。これは次のようなものです。

template <class Node, class EdgeValue>
class Graph
{
 typedef std::shared_ptr < Node > NodePtr;
 std::map < std::pair < NodePtr, NodePtr > , EdgeValue> Edges;
}

しかし、私はかなり確信しています、それはうまくいかないでしょう。比較クラスまたは関数を作成する必要がありますか? テンプレにするべき?実際、スマート ポインターを比較するにはどうすればよいでしょうか。

4

1 に答える 1