そのような std::multimap を宣言できることがわかりました:
multimap < u_int32_t, u_int32_t,string> lines;
それを宣言できる場合は、挿入することもできるはずです
でもどうやって?
試してみstd::pair
ましたが、のようなものが必要なようstd::triple
です。
構造体を宣言し、その構造体にいくつかの値を保持できることはわかっています。しかし、私はむしろそれを直接行うことを好みます。しかも宣言できるから。
編集
私は重大な間違いを犯しましたが、マルチマップが間違っていることを本当に理解していたことがわかりました。
ここの人々の悲鳴と反対票により、私はドキュメントを読み直しました。今、私はそれを次のように使用します:
struct container {
u_int32_t size_in_blocks;
string name_of_file;
};
//size_of_file
multimap < u_int32_t, container> lines;
// first value is used as a key for sorting
// second value is just a storage
container d;// initialization
lines.insert ( std::pair<u_int32_t,container>( total_size_bytes, d) );
皆さんありがとう!