ベクトルを効率的に追加する
ベクトルを扱うときの一般的なタスクには、あるベクトルを別のベクトルに追加することが含まれます。挿入を繰り返してこれを達成する簡単な方法もありますが、これは最も効率的なアプローチではありません。
効率的なベクトル連結のために、C には挿入メソッドが用意されています。 2 つのベクトル a と b があると仮定すると、次のように b を a にシームレスに追加できます:
a.insert(a.end(), b.begin(), b.end());
このコード スニペットは、挿入を利用して、b から a の要素の全範囲を a.end() で指定された位置に挿入します。
あるいは、同じ結果を実現する C 11 準拠の std::begin および std::end 関数:
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 でベクトルを追加する効率的かつ便利な方法を提供し、拡張されたベクトル シーケンスを操作できるようにします。簡単に。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3