OSAtomicDecrement (Mac 固有のアトミック操作) を使用するには、4 バイト アラインされた SInt32 を提供する必要があります。
この種の料理はうまくいきますか?アライメントの問題に対処する別の方法はありますか?
struct SomeClass {
SomeClass() {
member_ = &storage_ + ((4 - (&storage_ % 4)) % 4);
*member_ = 0;
}
SInt32 *member_;
struct {
SInt32 a;
SInt32 b;
} storage_;
};