したがって、次のようなコードがあります。
byte* ar;
foo(ar) // Allocates a new[] byte array for ar
...
delete[] ar;
これをより安全にするために、scoped_array を使用しました。
byte* arRaw;
scoped_array<byte> ar;
foo(arRaw);
ar.reset(arRaw);
...
// No delete[]
問題は、一時的な生の配列を使用せずに、scoped_array だけを使用してこれを行う既存の方法があるかどうかです。
機能が存在するかどうか疑問に思っているだけで、おそらくインプレースの「リセッター」クラスを作成できますが、それがありません。
ありがとう、ダン