C スタイル配列からの std::vector の割り当て
さまざまなシナリオで、std::vector を割り当てることが必要になります。 C スタイルの配列を使用します。 C スタイルの配列として渡されたデータを使用して初期化する必要があるベクトルを含む次のクラスを考えてみましょう:
class Foo { std::vector<double> w_; public: void set_data(double* w, int len){ // how to cheaply initialize the std::vector? } };
ベクトルのサイズを変更して要素を反復処理する代わりに、または std::copy() を使用します。より効率的なアプローチが存在します。ポインタをイテレータとして扱うことができるという事実を利用して、
w_.assign(w, w + len);
を使用してベクトルをすばやく割り当てることができます。この構文はポインタ w から w len までの範囲を割り当て、ベクトルを効果的に初期化します。 C スタイルの配列
以上がC スタイルの配列から std::vector をすばやく初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。