std::tupleアクセスと付与

851 ワード

1.引用std::tupleはc++11が新たに導入したデータ構造であり、pythonのtupleのようなものであり、std::pairの拡張でもあり、任意の要素数をサポートしている.詳細は、std::tupleドキュメント
2.c++11 tupleを使用
tupleへのアクセスと付与は、以下のコードでのみ操作できます.
typedef size_t t_id;
typedef std::string s_id;
std::tuple ctx;

// c++ >= c++11
//          
std::get<1>(ctx) = "string";
std::cout << "s_id = " << std::get<1>(ctx) << std::endl;

3.c++14またはc++17でtupleを使用
c++14(c++17)には、次のようなタイプベースのアクセスが追加されました.
    // c++ >= c++14
    //          
    std::get(ctx) = 1;
    std::cout << "t_id = " << std::get(ctx) << std::endl;

4他の2つの有用な要素
他の2つの有用な操作はstd::make_tuplestd::tieであり、公式ドキュメントを参照することができます.