va_list

va_list

/* unspecified */ va_list;

va_list是一个完整的对象类型,适用于保存宏va_start,va_copy,va_arg和va_end所需的信息。

如果创建了一个va_list实例,传递给另一个函数,并通过该函数中的va_arg使用,则在调用函数中的任何后续使用都应该在调用va_end之前进行。

将指针传递给另一个函数的va_list对象是合法的,然后在函数返回后使用该对象。

参考

  • C11标准(ISO / IEC 9899:2011):

扩展内容

va_arg访问下一个可变参数函数参数(函数宏)
va_copy(C99)制作可变参数函数参数(函数宏)的副本
va_end结束可变参数函数参数的遍历(函数宏)
va_start允许访问可变参数函数参数(函数宏)

| 用于va_list的C ++文档 |