crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> инициализация std::atomic
Алексей1153
  опции профиля:
сообщение 25.10.2017, 9:35
Сообщение #1


фрилансер
******

Группа: Участник
Сообщений: 2801
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 191 раз(а)




Репутация:   34  


начиная со стандарта 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
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 108 раз(а)




Репутация:   8  


struct s {
  std::atomic<int> n{0};
};
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 25.10.2017, 10:22
Сообщение #3


фрилансер
******

Группа: Участник
Сообщений: 2801
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 191 раз(а)




Репутация:   34  


lanz, намёк понял :D
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2017, 14:15