ATOMIC_VAR_INIT
|
Défini dans l'en-tête
<stdatomic.h>
|
||
|
#define ATOMIC_VAR_INIT(value) /* non spécifié */
|
(depuis C11)
(obsolète en C17) (supprimé en C23) |
|
Se développe en une expression qui peut être utilisée pour initialiser une variable atomique du même type que
value
.
La valeur initiale d'un objet atomique de durée de stockage automatique qui n'est pas explicitement initialisé est indéterminée. L'initialisation par défaut (zéro) des variables statiques et thread-local produit cependant une valeur valide.
Lors de l'initialisation d'une variable atomique, tout accès concurrent, même via une opération atomique, constitue une course aux données (cela peut se produire si l'adresse est immédiatement transmise à un autre thread avec une memory_order_relaxed opération).
Table des matières |
Notes
Cette macro faisait partie de la conception préliminaire des types atomiques C11. Elle n'est pas nécessaire en C11, et est dépréciée en C17 et supprimée en C23.
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C publiées antérieurement.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| DR 485 | C11 | la spécification était redondante et contradictoire avec le langage de base | corrigé |
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.17.2.1 La macro ATOMIC_VAR_INIT (p: 201)
- Norme C11 (ISO/IEC 9899:2011):
-
- 7.17.2.1 La macro ATOMIC_VAR_INIT (p: 274)
Voir aussi
|
(C11)
|
initialise un nouveau
atomic_flag
(constante macro) |
|
Documentation C++
pour
ATOMIC_VAR_INIT
|
|