C17如何让我初始化我的原子?

Win*_*ade 9 c atomic c17

在C17标准不赞成ATOMIC_VAR_INITstdatomic.h,还意味着它支持它,但宁愿它不会被使用.在C17中初始化原子的正确非弃用方法是什么?

与非原子类型相同:

atomic_int foo = 42;
Run Code Online (Sandbox Code Playgroud)

还是新的东西?

Cub*_*bbi 7

C17可以使用通常的显式初始化初始化原子:

atomic_int n = 42;
Run Code Online (Sandbox Code Playgroud)

C17字面上只是从7.17.2.1中的句子中删除了"使用ATOMIC_VAR_INIT"这两个词.