Я бы хотел перенести часть кода с Java на C ++ 11, и я немного запутался с ключевым словом volatile.
Я не знаком с языком Java и не понимаю, что такое переменная volatile. Это гарантирует, что каждый поток имеет доступ к актуальному значению переменной - это изменчивое поведение C ++. Но обычно он используется для синхронизации - все ли действия выполняются над атомарной переменной volatile?
Так что я думаю, что C ++ 11 хорошей заменой Java volatile будет std :: atomic. Или я совершенно не прав, потому что пропустил некоторые дополнительные функции Java изменчивые?