# std::atomic<T>::atomic

< cpp‎ | atomic‎ | atomic

| (1) |
atomic() noexcept = default; |  | (C++11 起) (C++20 前)
constexpr atomic() noexcept(std::is_nothrow_default_constructible_v<T>); |  | (C++20 起)
constexpr atomic( T desired ) noexcept; | (2) | (C++11 起)
atomic( const atomic& ) = delete; | (3) | (C++11 起)

构造新的原子对象：

1) 默认构造函数是平凡的：不发生静态和线程局域对象的零初始化以外的初始化。 std::atomic_init 可用于完成初始化。 | (C++20 前)
1) 值初始化底层对象（即用 T()) ）。该初始化非原子。若 std::is_default_constructible_v<T> 为 false 则默认构造函数的使用为谬构。 | (C++20 起)

2) 以 `desired` 初始化底层值。该初始化非原子。
3) 原子对象非可复制构造 (CopyConstructible) 。

### 参数

desired | - | 用以初始化的值

### 注解

默认初始化的 std::atomic<T> 不含 `T` 对象，它仅有的合法用法是析构和以 std::atomic_init 初始化，见 LWG 2334 。 | (C++20 前)