ATOMIC_VAR_INIT
From cppreference.net
Concurrency support library
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더 파일에 정의됨
<stdatomic.h>
|
||
|
#define ATOMIC_VAR_INIT(value) /* unspecified */
|
(C11부터)
(C17에서 사용 중단됨) (C23에서 제거됨) |
|
value
와 동일한 타입의 atomic 변수를 초기화하는 데 사용할 수 있는 표현식으로 확장됩니다.
명시적으로 초기화되지 않은 자동 저장 기간의 원자 객체의 초기값은 정의되지 않습니다. 그러나 정적 및 스레드 지역 변수의 기본(0) 초기화는 유효한 값을 생성합니다.
원자 변수를 초기화할 때, 동시 접근(심지어 원자 연산을 통한 접근도)은 데이터 경쟁입니다(주소가 memory_order_relaxed 연산과 함께 즉시 다른 스레드로 전달되는 경우 발생할 수 있습니다).
목차 |
참고 사항
이 매크로는 C11 원자 타입에 대한 초기 설계 초안의 일부였습니다. C11에서는 필요하지 않으며, C17에서는 더 이상 사용되지 않고 C23에서는 제거되었습니다.
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| DR 485 | C11 | 명세가 중복적이고 핵심 언어와 모순됨 | 수정됨 |
참고문헌
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.17.2.1 ATOMIC_VAR_INIT 매크로 (p: 201)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.17.2.1 ATOMIC_VAR_INIT 매크로 (p: 274)
참고 항목
|
(C11)
|
새로운
atomic_flag
를 초기화합니다
(매크로 상수) |
|
C++ 문서
for
ATOMIC_VAR_INIT
|
|