最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

class
<new>

# std::destroying_delete_t(C++20)

    namespace std {
      struct destroying_delete_t {
        explicit destroying_delete_t() = default;
      };

      inline constexpr destroying_delete_t destroying_delete{};
    }

## 概要

C++20にて追加されたdestroying operator deleteを定義するためのタグ型。クラススコープ`operator delete` オーバーロード定義時にこの型を第二引数に取るように定義する。

## バージョン

### 言語

- C++20

### 処理系

- Clang: 16 ✅
- GCC: 9 ✅
- Visual C++: 2019 Update 7 ✅

## 関連項目

- C++20 可変長データを扱うクラスの効率的な`delete`

## 参照

- P0722R3 Efficient sized delete for variable sized classes