Можно ли присвоить атомарным типам значение другой атомарной переменной?C++

Программы на C++. Форум разработчиков
Anonymous
Можно ли присвоить атомарным типам значение другой атомарной переменной?

Сообщение Anonymous »

В Concurrency In Action указано:

Все операции над атомарным типом определяются как атомарные, а присваивание
и копирование — в строительстве участвуют два объекта. Одна операция над двумя
разными объектами не может быть атомарной.

Но я немного запутался

Код: Выделить всё

atomic i1, i2;
i1 = 0;
i2 = 1;
i1 = i2;          // error
i1.store(i2);  // but it works, is this operation atomic?
Последняя строка кода завершает присвоение, в ней также задействованы два объекта

Подробнее здесь: https://stackoverflow.com/questions/736 ... c-variable

Вернуться в «C++»