実はC++はtupleクラスを使わずにタプル型やペア型の実現ができてしまいます。しかもラベル付きタプルですので、用途によってはtupleクラスよりも使い勝手は良いです。 無名構造体で代用 auto getDate() { struct { int year, month, day; } date = {2016, 12, 24}; return date; } 戻り値をauto型にしている点が肝です。値受け取りの際もautoで受け取る必要があります。 auto date = getDate(); printf("%d年", date.year); // "2016年" printf("%d月", date.month); // "12月" printf("%d日", getDate().day); // "24日" メンバ変数側のデストラクタもきちんと呼ばれますので、無名構造体側のメンバ変