最終更新日時: 2023年01月23日 23時06分25秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<format>

# std::formatter::set_debug_format(C++23)

    constexpr void
      formatter<char-or-string>::set_debug_format(); // (1)

## 概要

デバッグ出力を有効にする。

このメンバ関数は、`std::format()`関数の文字・文字列に対する書式として「? (デバッグ出力)」の指定をすることで自動的に呼び出される。デフォルトは無効である。

この機能が有効になることで、文字・文字列が引用符で囲まれ、エスケープシーケンスがエスケープされて出力される (例:`"\n"`は`"\"\n\""`となる)。

タプルおよびRangeの要素としての文字・文字列に対しては、デフォルトで有効であることに注意。

## 効果

デバッグ出力を有効にする。

## バージョン

### 言語

- C++23

### 処理系

- Clang: ??
- GCC: ??
- Visual C++: ??

## 参照

- P2286R8 Formatting Ranges
- P2585R1 Improve default container formatting
  - C++23から、Range・コンテナ、`pair`、`tuple`のフォーマット出力、および文字・文字列のデバッグ指定 (`"?"`) が追加された