C++ タプル

C Tapuru



プログラミング言語で作業するには、タプル、リスト、配列などを使用する必要があります。配列、リスト、およびタプルは、わずかな違いを除いて同じサービスを提供します。タプルは、アイテムの順序リストを保持するオブジェクトです。配列とリストのようなものですが、どちらも可変ですが、タプルは不変です。不変オブジェクトは、実行中に変更を受けることはできません。リストと配列は変更可能であるため、簡単に変更、スライス、またはインデックスを付けることができます。ただし、タプルは不変オブジェクトであるため、変更、スライス、または変更することはできません。さらに、リストと配列は 1 つのタイプのデータしか格納できませんが、タプルは複数のタイプのデータを持つことができます。このガイドでは、タプルの主な機能と、それを c++ プログラムで使用する方法について説明します。

C++ プログラミング言語のタプルとは何ですか?

C++ プログラミング言語のタプルは、項目の順序付きリストを保持するオブジェクトです。これは、タプルの値を実行のどの時点でも変更できないことを意味する不変のデータ型です。タプルの値は、コンマで区切られた丸括弧 () で指定され、インデックスの参照によってアクセスできます。タプルに対して実行できる関数は多数あります。つまり、get()、swap()、tuple_size() などです。以降のセクションでは、例を使用して 4 つの関数の動作について説明します。

例 1:
この例では、make_tuple() 関数を使用してタプルを作成します。 make_tuple() は、タプルに値を割り当てるために C++ プログラムで使用されます。タプルに割り当てる必要がある値は、タプルで宣言されたのと同じ順序にする必要があります。 make_tuple() 関数が c++ プログラムでどのように機能するかを理解するために、以下の添付コードを見てみましょう。







cin や cout などの標準入出力関数を使用するために、「include 」および「using namespace std」ライブラリがプログラムに含まれています。 「include 」は、プログラムでタプルを使用できるようにします。完全なコードは main() 関数で提供されます。タプル 't' は、 の 5 つの要素で宣言されます。タプルの値は、同じ順序に従う必要があります。ご覧のとおり、make_tuple() 関数の (‘a’, 75, 5, ‘z’, 5.5) は、タプルに対して宣言された値と同じ順序になっています。このコードを実行した後、実行が成功したことを示す何も返されません。



#include
#include<タプル>
使用して 名前空間 標準 ;
整数 主要 ( )
{
タプル < チャー 整数 整数 チャー 浮く > t ;
t = make_tuple ( 「あ」 75 5 'と' 5.5 ) ;
戻る 0 ;
}



以下のスクリーンショットに示されている結果の出力を確認してください。





プログラムからは何も返されないことに注意してください。タプルの値を出力しましょう。



例 2:
この例では、タプルで get() 関数を使用してその値を表示しています。タプルの値は、c++ プログラミング言語の get() 関数でのみ出力できます。以下のコードを参照してください。

前の例と同じコードとサンプル データを使用したことに注意してください。 make_tuple() 関数を使用すると、値が正常にタプルに割り当てられます。 get() 関数は、0 から始まるインデックス番号を参照してタプルの値にアクセスするために使用されます。各インデックス番号は get() 関数に与えられ、タプルのすべての値が cout ステートメントで出力されます。

#include
#include<タプル>
使用して 名前空間 標準 ;
整数 主要 ( )
{
タプル < チャー 整数 整数 チャー 浮く > t ;
t = make_tuple ( 「あ」 75 5 'と' 5.5 ) ;
整数 ;
カウト << 'タプルの値は次のとおりです:' ;
カウト << 得る < 0 > ( t ) << ' ' << 得る < 1 > ( t ) << ' ' << 得る < 2 > ( t )
<< ' ' << 得る < 3 > ( t ) << ' ' << 得る < 4 > ( t ) << エンドル ;
戻る 0 ;
}

以下のスクリーンショットでこのコードの出力を確認してください。

get() 関数は、タプルに割り当てられたのと同じ順序で値を出力します。

例 3:
この例では、tuple_size() 関数の動作を示します。サンプルの例を使用して、tuple_size 関数を使用してタプルのサイズを取得する方法を説明します。以下のコードを確認してください。

コードの残りの行は、前の例で使用したものと同じです。ここの tuple_size 関数は、タプルのサイズを取得します。 「decltype」は、指定された式の型を調べるために使用される宣言された型を表します。

#include
#include<タプル>
使用して 名前空間 標準 ;
整数 主要 ( )
{
タプル < チャー 整数 整数 チャー 浮く > t ;
t = make_tuple ( 「あ」 75 5 'と' 5.5 ) ;
整数 ;
カウト << 'タプルのサイズは = ' ;
カウト << tuple_size < decltype ( t ) > :: 価値 << エンドル ;
戻る 0 ;
}

このコードを実行すると、次の出力が生成されます。

タプルに 5 つの値を割り当て、tuple_size() 関数もタプル 5 のサイズを返しました。

例 4:
tuple_cat() 関数を使用してタプルを連結し、それらから新しいタプルを作成できます。ここでは、tuple_cat() 関数を使用して 2 つのタプルを連結する方法を示します。

以下のコードでは、2 つのタプル t1 と t2 を宣言し、各タプルに 3/3 の値を割り当てています。次に、tuple_cat() 関数を使用して両方のタプルを連結し、それらから新しいタプルを作成しました。その後、get() 関数を使用してすべてのタプルの値を単純に出力しました。 tuple_cat() 関数は、連結する必要があるタプルを取得し、各タプルに割り当てられた値を結合して、そこから新しいタプルを作成します。

タプル t1 と t2 には 3/3 の値があり、インデックス 0 からインデックス 2 までを参照して get() 関数を使用して各値を出力したことに注意してください。ただし、それらを連結すると、合計値は 6 になります。すべての値が出力されるように、0 から 5 までのインデックスを出力します。以下の出力をチェックして、タプル t1 に 3 つの値が出力されていることに注意してください。タプル 2 には 3 つの値が出力されます。ただし、新しいタプルの連結値は 6 であるため、タプル 3 には 6 つの値が出力されます。

#include
#include<タプル>
使用して 名前空間 標準 ;
整数 主要 ( )
{
タプル < チャー 整数 浮く > t1 ( 「あ」 75 6.7 ) ;
タプル < 整数 チャー 浮く > t2 ( 10 't' 77.9 ) ;
自動 t3 = tuple_cat ( t1、t2 ) ;
カウト << 「最初のタプルには = が含まれています」 ;
カウト << 得る < 0 > ( t1 ) << ' ' << 得る < 1 > ( t1 ) << ' ' << 得る < 2 > ( t1 ) << エンドル << エンドル ;
カウト << 「2 番目のタプルには = が含まれます」 ;
カウト << 得る < 0 > ( t2 ) << ' ' << 得る < 1 > ( t2 ) << ' ' << 得る < 2 > ( t2 ) << エンドル << エンドル ;
カウト << '新しいタプルは = ' ;
カウト << 得る < 0 > ( t3 ) << ' ' << 得る < 1 > ( t3 ) << ' ' << 得る < 2 > ( t3 ) << ' '
<< 得る < 3 > ( t3 ) << ' ' << 得る < 4 > ( t3 ) << ' ' << 得る < 5 > ( t3 ) << エンドル ;
戻る 0 ;
}

出力は次のとおりです。

結論

この記事は、c++ プログラミング言語のタプルの概要です。 C++ のタプルは、異なるデータ型の値を同時に運ぶ不変オブジェクトです。タプルは不変であるため、実行のどの時点でも変更または修正できません。タプルに対していくつかの関数を実行して、特定の結果を得ることができます。そのうちの 4 つは、この記事でサンプル例を使用して説明されています。