Namespaces
Variants

atomic_load, atomic_load_explicit

From cppreference.net
Definido en el encabezado <stdatomic.h>
C atomic_load ( const volatile A * obj ) ;
(1) (desde C11)
C atomic_load_explicit ( const volatile A * obj, memory_order order ) ;
(2) (desde C11)

Carga atómicamente y devuelve el valor actual de la variable atómica apuntada por obj . La operación es una operación de lectura atómica.

La primera versión ordena los accesos a memoria de acuerdo con memory_order_seq_cst , la segunda versión ordena los accesos a memoria de acuerdo con order . order debe ser uno de memory_order_relaxed , memory_order_consume , memory_order_acquire o memory_order_seq_cst . De lo contrario, el comportamiento es indefinido.

Esta es una función genérica definida para todos los tipos de objetos atómicos A . El argumento es un puntero a un tipo atómico volátil para aceptar direcciones de objetos atómicos tanto no volátiles como volátiles (por ejemplo, E/S mapeadas en memoria), y se preserva la semántica volátil cuando se aplica esta operación a objetos atómicos volátiles. C es el tipo no atómico correspondiente a A .

No está especificado si el nombre de una función genérica es una macro o un identificador declarado con vinculación externa. Si se suprime una definición de macro para acceder a una función real (por ejemplo, entre paréntesis como ( atomic_load ) ( ... ) ), o un programa define un identificador externo con el nombre de una función genérica, el comportamiento no está definido.

Contenidos

Parámetros

obj - puntero al objeto atómico al que acceder
order - el orden de sincronización de memoria para esta operación

Valor de retorno

El valor actual de la variable atómica apuntada por obj .

Referencias

  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.17.7.2 Las funciones genéricas atomic_load (p: 206)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.17.7.2 Las funciones genéricas atomic_load (p: 282)

Véase también

almacena un valor en un objeto atómico
(función)
Documentación de C++ para atomic_load , atomic_load_explicit