在线文档教程
C++
应用 | Utilities

Variadic functions

变分函数

变量函数为函数%28。std::printf%29可变参数数...

要声明变量函数,使用省略号作为最后一个参数。int printf(const char* format, ....见变元有关语法、自动参数转换和替代方法的其他详细信息。

为了从函数体访问变量参数,提供了以下图书馆设施:

在标头中定义<cstdarg>

*。

Va[医]启动启用对变量函数参数%28的宏%29的访问

Va[医]arg访问下一个变量函数参数%28宏%29。

Va[医]复制%28C++11%29复制变量函数参数%28函数宏%29

Va[医]变量函数参数%28宏%29的末端遍历

Va[医]列表保存了va所需的信息。[医]开始,VA[医]阿格河[医]结束,和VA[医]拷贝%28---胡枝子

二次

#include <iostream> #include <cstdarg> void simple_printf(const char* fmt...) { va_list args; va_start(args, fmt while (*fmt != '\0') { if (*fmt == 'd') { int i = va_arg(args, int std::cout << i << '\n'; } else if (*fmt == 'c') { // note automatic conversion to integral type int c = va_arg(args, int std::cout << static_cast<char>(c) << '\n'; } else if (*fmt == 'f') { double d = va_arg(args, double std::cout << d << '\n'; } ++fmt; } va_end(args } int main() { simple_printf("dcff", 3, 'a', 1.999, 42.5 }

二次

产出:

二次

3 a 1.999 42.5

二次

另见

c变量函数的文档

*。

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/实用程序/Variadic