boost::hash
ハッシュテーブルではなく、ハッシュ値を計算するだけです。順不同のコンテナーと組み合わせる方法については Boost のドキュメントを参照し、値を挿入する方法についてはコンテナーのドキュメントを参照してください。
map
あなたのコメントは、 を使用しているため、そのタイプのインスタンスではなく、タイプを宣言していますtypedef
。
あなたの投稿はまた、おそらくあなたが望んでいない/必要ではないことを示唆していますboost::hash
、試してみてください
std::unordered_map< int, std::string > my_map;
もちろん、後者が機能しない場合や単に使用したくboost::unordered_map
ない場合に代わりに使用することもできます。std::unordered_map
クラスにメソッドを追加して、値へのアクセスを許可します。
class Input
{
int id;
std::string name; // note: lowercase string, not String
public:
std::pair< int, std::string > values() const
{
return std::make_pair( id, name );
}
};
そして、それを使用して のインスタンスをInput
マップに挿入します。
Input my_input;
my_map.insert( my_input.values() );