При чтении о функции InterlockedIncrement Я видел замечание, что переданная переменная должна быть выровнена на 32-битной границе. Обычно я видел код, который использует InterlockedIncrement так:Использование блокировки в использовании
class A
{
public:
A();
void f();
private:
volatile long m_count;
};
A::A() : m_count(0)
{
}
void A::f()
{
::InterlockedIncrement(&m_count);
}
ли вышеприведенный код будет работать должным образом в многопроцессорных системах, или я должен взять немного больше ухода за это?