инициализация атомарных переменных в c ++ 0x - PullRequest
3 голосов
/ 15 июля 2011

Можно ли инициализировать атомарные переменные в c ++ 0x глобально?

Например,

atomic_int turnX = 5;
int main(){
    ....
}

завершается ошибкой: удалена функция 'std :: atomic :: atomic (const std:: atomic &) '

просмотр atomic_2.h дает представление о том, что это недопустимо.Правильно ли я заявляю, что атомным переменным можно присваивать значения только из функции?

1 Ответ

6 голосов
/ 15 июля 2011

попробовать:

atomic_int turnX(5);

Это конструктор constexpr, поэтому его следует конструировать как постоянную инициализацию (т. Е. Во время загрузки).

...