Re[13]: Volatile и предупреждение C5220
От: Максим Россия  
Дата: 03.01.22 14:05
Оценка:
ЕМ>Напомню, вопрос возник потому, что компилятор предупреждает не о недостаточности volatile для синхронизации, а о "нетривиальности" автоматически генерируемого конструктора класса, содержащего volatile-переменную.

Были какие-то разногласия между членами комитета на этот счет. Возможно найдете что-то полезное по ссылке ниже
Copying volatile subobjects is not trivial
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1153r0.html

М>>Можете показать примерный код?

ЕМ>
ЕМ>class C {

ЕМ>  int volatile i;

ЕМ>};
ЕМ>


Тут volatile можно убрать, ничего принципиально не изменится (надо просто проверить, что компилятор не выкинет i на данном уровне оптимизации).

В свете вышесказанного про майкрософтовский компилятор, этод код осуществляет синхронизацию, да.
Errare humanum est
Отредактировано 03.01.2022 14:11 Максим . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.