Namespaces
Variants

Standard library header <cstdarg>

From cppreference.net
Standard library headers

このヘッダは元々C標準ライブラリに <stdarg.h> として存在していました。

このヘッダーは Cスタイル可変引数関数 のサポートを提供します。一方で、 「デフォルト引数プロモーション」のC定義 C++定義 に置き換えられています。

目次

va_start va_arg va_end 、および va_copy が必要とする情報を保持する
(typedef)

マクロ

可変個引数関数の引数へのアクセスを可能にする
(関数マクロ)
次の可変個引数関数の引数にアクセスする
(関数マクロ)
(C++11)
可変個引数関数の引数のコピーを作成する
(関数マクロ)
可変個引数関数の引数の走査を終了する
(関数マクロ)

概要

namespace std {
  using va_list = /*詳細は説明を参照*/ ;
}
#define va_arg(V, P) /*詳細は説明を参照*/
#define va_copy(VDST, VSRC) /*詳細は説明を参照*/
#define va_end(V) /*詳細は説明を参照*/
#define va_start(V, P) /*詳細は説明を参照*/

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
CWG 2645 C++98 C++は「デフォルト引数プロモーション」を定義しているが、Cの定義が使用されていた C++の定義がCの定義を上書きする