C++伝達不定パラメトリック関数
1018 ワード
次のマクロを使用する不定パラメータ関数を定義します. va_start(ap,farg):vaを初期化するList変数ap,fargは最初のパラメータ である va_Arg(ap,type):typeタイプのパラメータ を取得(下)する va_end(ap):ap の使用を終了する
C++言語で不定パラメータ関数を記述する形式はこうです(提供タイプのパラメータが必要です):
次のマクロを使用する不定パラメータ関数を定義します. va_start(ap,farg):vaを初期化するList変数ap,fargは最初のパラメータ である va_Arg(ap,type):typeタイプのパラメータ を取得(下)する va_copy(ap):パラメータリストをコピーするための va_end(ap):apの使用を終了するマクロ定義は、一般的に
注:これらのマクロ定義は、システムやプロセッサアーキテクチャによって異なります.
C++言語で不定パラメータ関数を記述する形式はこうです(提供タイプのパラメータが必要です):
#include
using namespace std;
int sum(int x,...)
{
int sum2=0;
va_list apList;
va_start(apList, x);
for(int i=0;i
次のマクロを使用する不定パラメータ関数を定義します.
stdarg.h
にある.typedef char * va_list;
#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define va_end(ap) ( ap = (va_list)0 )
注:これらのマクロ定義は、システムやプロセッサアーキテクチャによって異なります.