この投稿では、C++で2つのアレイを連結する方法について説明します。

1.使用する std::copy

推奨される解決策は、 std::copy から <algorithm> 2つのアレイを連結するヘッダー。アイデアは、両方のアレイのすべての値を格納するのに十分な大きさのメモリを割り当ててから、値を新しいアレイにコピーすることです。 std::copy.

ダウンロード  コードを実行する

出力:

1 2 3 4 5

 
The std::copy 関数は、要素がコピーされた範囲の最後にイテレータを返します。したがって、コードは次のように短縮できます。

ダウンロード  コードを実行する

出力:

1 2 3 4 5

 
または、 std::copy_n 最初のアルゴリズムをコピーする標準アルゴリズム n 結果までの指定範囲の要素。

ダウンロード  コードを実行する

出力:

1 2 3 4 5

2.使用する std::memcpy

The std::memcpy のアレイのバイナリコピーを実行します POD(プレーンオールドデータ)タイプ int、charなどのように。これを使用して、PODタイプの2つのアレイを連結できます。ヘッダーで宣言されています <cstring>。これを以下に示します。

ダウンロード  コードを実行する

出力:

1 2 3 4 5

3.フォールド式の使用

C++ 17では、 折り畳み式 std::arraysのシーケンスを連結します。このエレガントで効率的なソリューションを以下に示します。

ダウンロード  コードを実行する

出力:

1 2 3 4 5

これが、C++で2つのアレイを連結することです。