首页 > 代码库 > C++ 中获取 可变形参函数中的参数
C++ 中获取 可变形参函数中的参数
#include <iostream> #include <stdarg.h> using namespace std; int ArgFunc(const char * str, ...) { va_list ap; // 定义参数列表变量 va_start(ap, str); // 确定参数位置,表明从 str 开始获取参数 // 开始获取参数 var_arg(ap, 数据类型) 返回获取的值 cout<<va_arg(ap, int)<<endl; cout<<va_arg(ap, int)<<endl; // 因为只传入两个参数,所以这里获取到的数值为 零 cout<<va_arg(ap, int)<<endl; cout<<va_arg(ap, int)<<endl; va_end(ap); // 将参数列表 ap 清零 return 0; } int main() { ArgFunc("func", 10, 20); // 数据从右往左 压入 栈中 ,栈顶元素为 "func" return 0; } /***************************************************** * * 获取可变参数 * * 1. 包含头文件:#include <stdarg.h> * 2. 定义 参数列表变量:va_list ap; * 3. 确定从哪里开始获取数据 va_start(ap, str); 表示在str参数之后开始获取参数。 * 4. 开始获取参数并指明类型,如:va_arg(ap, int); 获取第一个参数,并指明类型为 int * 5. 清空列表 va_end(ap); * ******************************************************/
运行结果:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。