名前空間
変種
操作

標準ライブラリヘッダー <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の定義を上書きする
English 日本語 中文(简体) 中文(繁體)