C++で頻繁に二つの要素を一つをキーにして扱いたい時に、mapを使用していました。また、それ以上の数の要素を扱う場合は、mapの要素にクラスを入れて対応していました。
std::map<int, HogeClass*>
のような感じです。
ただ、どうしてもクラスや構造体を使いたくない場合があり、3要素をひとまとめにしたい、というケースがたまたまあり、どのようにしたら良いか調べてみました。すると、次のような例があり、採用しました。
std::map<int, std::pair<int, double>>