BYTE*
、参照カウンター、およびCRITICAL_SECTION
両方を同時アクセスから保護するを含むクラスがあります。
すべてを。に置き換えたいstd::tr1::shared_ptr<BYTE>
です。MSDNによると:
オブジェクトが所有権を共有するコピーである場合でも、複数のスレッドが異なるshared_ptrオブジェクトを同時に読み取りおよび書き込みできます。
CRITICAL_SECTION
クラスのfromがクラスの外部で使用されて「ロック」され、相互に排他的な方法でコンテンツが変更されていることがわかるまで、すべて問題ないように聞こえます。さて、それはカプセル化を破ります、私はそれを変えたいです。
メモリが解放されることをshared_ptr
保証しますが、メモリに書き込むときに相互排除を保証しますか?