-
Notifications
You must be signed in to change notification settings - Fork 137
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
8 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
6能转换为 std::atomic<int>, | ||
是因为调用了`constexpr atomic(T) noexcept;`用户自定义转换构造函数, | ||
相当于`std::atomic<int> n = std::atomic<int>(6);` | ||
在 c++17之前的版本,通过调用复制或移动构造函数来完成 n 的初始化, | ||
在 C++17之前的版本,通过调用复制或移动构造函数来完成 n 的初始化, | ||
标准规定 std::atomic 既不可复制亦不可移动,所以编译失败。 | ||
c++17标准以后,复制清除变成强制要求,与此同时,用右值初始化对象不会再调用移动构造,而是直接原位构造,所以通过编译。 | ||
C++17标准以后,复制清除变成强制要求,与此同时,用右值初始化对象不会再调用移动构造,而是直接原位构造,所以通过编译。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters