1. ホーム
  2. c++

[解決済み] STL-pairのようなトリプレットクラス - 自分で転がすか?

2022-02-14 13:10:06

質問

std::pairにできるだけ似たトリプレットクラスが使いたいのですが、どうすればいいですか?STLにはないようです。Boostのような重すぎるものは使いたくありません。FOSSの非制限的ライセンスのトリプレットクラスで、どこかから引っ張ってこれるような便利なものはないでしょうか?自分で作った方がいいのか?全く別のことをした方がいいのでしょうか?

編集する について std::tuple ...

トリプレット専用のクラスは本当にメリットがないのでしょうか?というか、タプルだと

template<typename T1, typename T2, typename T3> std::tuple<T1, T2, T3> triple;

ということです。個別型-組合せ型トリプルをtypedefする必要はないのでしょうか?

どのように解決するのですか?

いいえ、自分でロールアップしてはいけません。その代わりに std::tuple - を一般化したものです。 std::pair . では、ここで、値をイニシャライズしたトリプルの int s:

std::tuple<int, int, int> triple;

必要であれば、トリプルのみのタイプエイリアスを持つことができます。

template<typename T1, typename T2, typename T3>
using triple = std::tuple<T1, T2, T3>;