C++ にもタプルは存在するが使いづらい ― 2021年04月15日 12時50分08秒
tuple ヘッダファイルに定義され、std::tuple で変数を宣言できる。各要素を一気に展開するのに std::tie が使える。
実行結果はこちら。
#include <tuple>
#include <string>
#include <iostream>
int main()
{
std::tuple< int, std::string > pair( 3, "error" );
int i;
std::string s;
std::tie( i, s ) = pair;
std::cout << std::get< 0 >( pair ) << " : " << std::
get< 1 >( pair ) << std::endl;
std::cout << i << " : " << s << std::endl;
}
% c++ tuple_tie.cpp
% ./a.out
3 : error
3 : error
ただ、 C++ は強い型宣言の言語なので、緩い型の他のスクリプト言語などと比べると、使える場面が凄く限られてくる。std::pair は特定の二つの型を関係付けるのに使ったが、tuple の任意の変数を関連付けるのが真価を発揮しづらい。
最近のコメント