Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ С\С++ _ инициализация std::atomic

Автор: Алексей1153 25.10.2017, 9:35

начиная со стандарта C++11 (если не ошибаюсь) есть удобный способ инициализации

struct s
{
   int n=0;
};


но это не удаётся провернуть с std::atomic
struct s
{
   std::atomic<int> n=0;
};


- ругается на удалённый конструктор

Приходится по старинке
struct s
{
   std::atomic<int> n;
  
   s():n(0)
   {}
};



или, может, есть какой-то способ, приближенный к первому ? Просто так оставлять без инициализации нельзя - там мусор, я проверил )

Автор: lanz 25.10.2017, 10:15

struct s {
  std::atomic<int> n{0};
};

Автор: Алексей1153 25.10.2017, 10:22

lanz, намёк понял :D

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)