標準ライブラリヘッダー <cstdarg>
From cppreference.com
このヘッダーはもともとC標準ライブラリに<stdarg.h>として存在していました。
このヘッダーはCスタイルの可変引数関数のサポートを提供しますが、「デフォルト引数昇格」のCの定義はC++の定義に置き換えられています。
型 | ||
| va_start, va_arg, va_end, va_copy で必要となる情報を保持します。 (typedef) | ||
マクロ | ||
| 可変長引数関数へのアクセスを有効にする (関数マクロ) | ||
| 次の可変長引数にアクセスする (関数マクロ) | ||
| (C++11) |
可変長引数のコピーを作成する (関数マクロ) | |
| 可変長引数の走査を終了する (関数マクロ) | ||
[編集] 概要
namespace std { using va_list = /*see description*/ ; } #define va_arg(V, P) /*see description*/ #define va_copy(VDST, VSRC) /*see description*/ #define va_end(V) /*see description*/ #define va_start(V, P) /*see description*/
[編集] 欠陥報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| CWG 2645 | C++98 | C++は「デフォルト引数昇格」を定義しているが、そのCの定義が使用されていた | C++の定義がCの定義を上書きする |