ベクトルを効率的に追加する
ベクトルを扱うときの一般的なタスクには、あるベクトルを別のベクトルに追加することが含まれます。挿入を繰り返してこれを実現する簡単な方法もありますが、これは最も効率的なアプローチではありません。
効率的なベクトル連結のために、C には挿入メソッドが用意されています。 2 つのベクトル a と b があると仮定すると、次のように b を a にシームレスに追加できます。
a.insert(a.end(), b.begin(), b.end());
このコード スニペットは、挿入を利用して、b から a の a で指定された位置に要素の全範囲を挿入します。 .end().
または、C 11 準拠の std::begin 関数と std::end 関数を使用して同じことを実現できます。 result:
a.insert(std::end(a), std::begin(b), std::end(b));
このバリアントはより汎用的で、ベクトルだけでなく配列でも使用できます。
さらに柔軟性を高めるために、ユーザーとの ADL (引数依存ルックアップ) を採用できます。 -定義されたタイプ:
using std::begin, std::end; a.insert(end(a), begin(b), end(b));
要約すると、 insert は C でベクトルを追加するための効率的かつ便利な方法を提供し、次の作業を可能にします。拡張ベクトルシーケンスを簡単に使用できます。
以上がC で 1 つのベクトルを別のベクトルに追加する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。