Spec-Zone.ru › C++

std::atomic_ref<T>::operator=

value_type operator=( value_type desired ) const noexcept;
(1) (constexpr since C++26)
atomic_ref& operator=( const atomic_ref& ) = delete;
(2)
1) Эквивалентно store(desired); return desired;. Эта перегрузка участвует в разрешении перегрузки, только если std::is_const_v<T> — это false.
2) atomic_ref не является CopyAssignable.

Параметры

desired - значение для присваивания

Возвращаемое значение

Как описано выше.

Примечания

В отличие от большинства операторов присваивания, оператор присваивания для atomic_ref не возвращает ссылку на свой левый аргумент. Вместо этого он возвращает копию сохранённого значения.

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.

DR Применяется к Опубликованное поведение Исправленное поведение
LWG 3508
(P3323R1)
C++20 оператор присваивания не имел смысла для constT ограничен приёмом только неконстантных T

См. также

(constructor)
создаёт объект atomic_ref
(открытая функция-член)
store
атомарно заменяет значение объекта, на который ведёт ссылка, неатомарным аргументом
(открытая функция-член)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/atomic/atomic_ref/operator%3D

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API