2017-05-19 4 views
1

"cl_mem"や "cl_context"のようなさまざまなタイプの根本的なタイプについて少し混乱しています。 openclヘッダーでは、実際にコピーするのが安全になるような構造体のインスタンスポインタであるかのように見えますが、どちらのメンバでもアクセス可能なメンバは存在しないことがわかります。または - >演算子。様々なOpenCLボイラープレートタイプは安全にコピーできますか?

本質的には、それらを関数の引数に渡すときやベクトルなどにプッシュするときにコピーするのは安全ですか?

答えて

0

あなたが言うように、それらは内部的にポインタです。したがって、関数引数として自由に渡すことも、ベクトルに保持することもできます。

実装はいつでも自由に変更できるため、メンバーに直接アクセスする際には使用しないでください。

私は、C++の使用のためにCの機能をうまく包むcl.hppcl2.hppヘッダーに案内します。

+0

これらは内部的にはポインタであるかもしれませんが、それらを「ハンドル」と考えることができます。はい、それらをコピーすることができます。 Canは、必要に応じて保持したり解放したり、オブジェクトを削除した後にリソースをリークしたり、ハンドルを再度使用したりすることなく、自分自身を追跡することができます。 – Dithermaster

関連する問題