2017-05-30 8 views
-5

私はいくつかのデータの配列をstdスレッドクラスを介して関数に渡そうとしています。私はC配列をとる私の現在のメソッドパラメータでエラーが発生しています。 C配列、ベクトルまたはstd配列のうち、stdスレッドで使用するのに最適な構造ですか?これらの配列を参照渡しし、関数の終了後にそれらの配列にアクセスできるようにする必要があります。stdスレッド、C配列、ベクトル配列または標準配列で使用するのに最適な配列タイプですか?

+3

なぜコードとエラーを投稿し、それを行うための主観的な「最良の方法」ではなく、その点について助けを求めるのはなぜですか? – NathanOliver

+1

関数が参照によって引数を取る場合、 'std :: thread'は直感的に動作しません。必要に応じて['std :: ref'](http://en.cppreference.com/w/cpp/utility/functional/ref)を使用して、参照によって実際に使用されることが意図されていることを保証してください。 –

答えて

0

コンパイル時にサイズが分かっている場合は、std::arrayまたはstd::vector::resizestd::vectorとしてください。それ以外の場合はstd::vectorを使用してください。

C言語では特にcスタイルを使用する必要はありません。特にC関数はスレッドセーフである必要はありません。

+0

コンパイル時のサイズは分かりませんが、その場合の最適な方法は何ですか? – bakalolo

+0

@bukaloloはstd :: vectorsを使うだけです。 –

関連する問題