std::atomic_ref<T>:: operator=
From cppreference.net
<
cpp
|
atomic
|
atomic ref
C++
Concurrency support library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::atomic_ref
|
value_type operator
=
(
value_type desired
)
const
noexcept
;
|
(1) | (constexpr начиная с C++26) |
|
atomic_ref
&
operator
=
(
const
atomic_ref
&
)
=
delete
;
|
(2) | |
1)
Эквивалентно
store
(
desired
)
;
return
desired
;
. Эта перегрузка участвует в разрешении перегрузки только если
std::
is_const_v
<
T
>
равно
false
.
Содержание |
Параметры
| желаемое | - | значение для присваивания |
Возвращаемое значение
Как описано выше.
Примечания
В отличие от большинства операторов присваивания, оператор присваивания для
atomic_ref
не возвращает ссылку на свой левый аргумент. Вместо этого он возвращает копию хранимого значения.
Отчёты о дефектах
Следующие отчеты об изменениях в поведении, содержащие описания дефектов, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
|
LWG 3508
( P3323R1 ) |
C++20 | оператор присваивания был бессмысленным для const T |
ограничен для приема только неконстантного
T
|
Смотрите также
создает объект
atomic_ref
(публичная функция-член) |
|
|
атомарно заменяет значение ссылаемого объекта неатомарным аргументом
(публичная функция-член) |