std::atomic_ref<T>:: operator++,++ (int) ,--,-- (int)
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
(C++26)
|
||||
|
Operations for arithmetic types
(except
bool
and pointer-to-object)
|
||||
|
Operations for integral types
(except
bool
and pointer-to-object)
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
|
atomic_ref::operator++
atomic_ref::operator++(int)
atomic_ref::operator--
atomic_ref::operator--(int)
|
||||
|
Operations for integral types
(except
bool
)
|
||||
| Constants | ||||
|
Proporcionado solo cuando
T
es un tipo integral distinto de
cv
bool
o un tipo puntero-a-objeto
|
||
|
value_type operator
++
(
)
const
noexcept
;
|
(1) | (desde C++20) |
|
value_type operator
++
(
int
)
const
noexcept
;
|
(2) | (desde C++20) |
|
value_type operator
--
(
)
const
noexcept
;
|
(3) | (desde C++20) |
|
value_type operator
--
(
int
)
const
noexcept
;
|
(4) | (desde C++20) |
Incrementa o decrementa atómicamente el valor actual del objeto referenciado. Estas operaciones son operaciones de lectura-modificación-escritura.
- Para tipos enteros con signo, la aritmética está definida para usar representación en complemento a dos. No hay resultados indefinidos.
- Para tipos puntero-a-objeto, el resultado puede ser una dirección indefinida, pero las operaciones por lo demás no tienen comportamiento indefinido. El programa está mal formado si std:: remove_pointer_t < T > no es un tipo de objeto completo.
Estas sobrecargas participan en la resolución de sobrecarga solo si std:: is_const_v < T > es false .
Contenidos |
Valor de retorno
Notas
A diferencia de la mayoría de los operadores de pre-incremento y pre-decremento, los operadores de pre-incremento y pre-decremento para
atomic_ref
no devuelven una referencia al objeto modificado. En su lugar, devuelven una copia del valor almacenado.
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
|
LWG 3508
( P3323R1 ) |
C++20 | los operadores de incremento y decremento carecían de sentido para const T |
restringidos para aceptar solo
T
no constante
|
Véase también
|
agrega atómicamente el argumento al valor almacenado en el objeto referenciado y obtiene el valor mantenido previamente
(función miembro pública) |
|
|
resta atómicamente el argumento del valor almacenado en el objeto referenciado y obtiene el valor mantenido previamente
(función miembro pública) |
|
|
agrega o resta atómicamente del valor referenciado
(función miembro pública) |
|
|
realiza atómicamente operaciones AND, OR, XOR a nivel de bits con el valor referenciado
(función miembro pública) |