4

私は、いくつかの C スタイルの配列 (または少なくとも最初の要素へのポインター) を引数として必要とする古いコードとやり取りする必要があるクラスを作成しました。

これらの配列は私のクラスのメンバーであり、特に大きい (50kb) ため、クラスのオブジェクトがスタック上で大きくならないようにヒープに配置したいと考えています。私はリソース管理オブジェクトを使用することを強く信じているので、ヒープ上でこれらの配列を自分で管理したくありません。

これにはunique_ptrを使用すると特にうまく機能することがわかりました。例えば:

std::unique_ptr<SOMETYPE[]> someArrayName

そして使用:

someArrayName(new SOMETYPE[someLargeSize])

私のコンストラクタの初期化リストに。これにより、これらを引数として必要とする関数のメソッドを使用して通常の C 配列として使用.get()でき、自分でメモリを管理する必要がなくなります。しかし、私の同僚 (実際にリリース用にコードをコンパイルする人) がまだ VS2008 を使用していることに気付きましunique_ptrた。まず、これにunique_ptrを使用している私の現在のソリューションは良いものですか? もしそうなら、ブーストのようなもので必要なすべての動作を維持するために、これに代わるものはありますか?

4

1 に答える 1