最終更新日時: 2024年12月21日 09時39分21秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<atomic>

# std::atomic_ref::operator T(C++20)(C++26で削除)

この関数はC++26で、CV修飾された型を受け取れるようにするため、型`T`への変換演算子から型`value_type`への変換演算子に変更された。

    operator T() const noexcept;

## 概要

型`T`への暗黙の型変換

## 戻り値

`load()`

## 例外

投げない

## 例

    #include <iostream>
    #include <atomic>

    int main()
    {
      int value = 1;
      std::atomic_ref<int> x{value};

      int n = x;
      std::cout << n << std::endl;
    }

### 出力

    1

## バージョン

### 言語

- C++20

### 処理系

- Clang: 9.0 ❌
- GCC: 10.1 ✅
- Visual C++: ??

## 参照

- P3323R1 cv-qualified types in `atomic` and `atomic_ref`
  - C++26でCV修飾されたテンプレート引数を受け取れるようになった