C++ 中获取 可变形參函数中的參数
2024-08-26 08:40:13
#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);
*
******************************************************/
执行结果:
最新文章
- apache如何解决跨域资源访问
- PyCharm LicenseServer 破解
- Http压力测试工具HttpTest4Net
- ctl 里面pdef解说
- UOJ#191. 【集训队互测2016】Unknown
- 杨佩昌:中国官员去德国考察看什么两眼发光 z
- 使用token机制来验证用户的安全性-b
- WCF引用方式
- [2016-09-09]IIS站点发布、同步和备份工具MSdeploy(WebDeploy)介绍
- python爬取免费优质IP归属地查询接口
- appium解决每次运行都需要安装Unlock以及AppiumSetting的问题
- Oracle导出数据EXP00106错误
- mysql 数据表备份导出,恢复导入操作实践
- centOS7环境下安装jdk1.8
- node+koa2 向页面传值方式
- spring+mybaits xml配置解析----转
- 基于vue.js实现远程请求json的select控件
- 【Unix网络编程】chapter8基本UDP套接字编程
- Asp.Net中索引器的用法
- JavaScript编程(终极篇)