ATOMIC_VAR_INIT
|
Definido en el encabezado
<stdatomic.h>
|
||
|
#define ATOMIC_VAR_INIT(value) /* no especificado */
|
(desde C11)
(obsoleto en C17) (eliminado en C23) |
|
Se expande a una expresión que puede utilizarse para inicializar una variable atómica del mismo tipo que
value
.
El valor inicial de un objeto atómico de duración de almacenamiento automático que no está explícitamente inicializado es indeterminado. Sin embargo, la inicialización por defecto (cero) de variables estáticas y locales de hilo produce un valor válido.
Al inicializar una variable atómica, cualquier acceso concurrente, incluso a través de una operación atómica, es una carrera de datos (puede ocurrir si la dirección se pasa inmediatamente a otro hilo con una operación memory_order_relaxed ).
Contenidos |
Notas
Esta macro formaba parte del diseño preliminar de los tipos atómicos de C11. No es necesaria en C11, y está obsoleta en C17 y eliminada en C23.
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C publicados anteriormente.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| DR 485 | C11 | la especificación era redundante y contradictoria con el lenguaje principal | corregido |
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.17.2.1 La macro ATOMIC_VAR_INIT (p: 201)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.17.2.1 La macro ATOMIC_VAR_INIT (p: 274)
Véase también
|
(C11)
|
inicializa un nuevo
atomic_flag
(macro constante) |
|
Documentación de C++
para
ATOMIC_VAR_INIT
|
|