社区
C++ 语言
帖子详情
C++中带省略号的参数叫甚么名字来着的?
ty263
2006-11-08 01:54:38
比如printf的声明:
int printf(const char *format [,argument]... );
参数的这种用法叫甚么名字?
...全文
379
10
打赏
收藏
C++中带省略号的参数叫甚么名字来着的?
比如printf的声明: int printf(const char *format [,argument]... ); 参数的这种用法叫甚么名字?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taodm
2006-11-09
打赏
举报
回复
在C++里,可以取代大部分变参需求。
想想,cout << i << j << k。。。。不也是变参了么。
不过,其实现技术稍微麻烦了点。
kenneth_lueng
2006-11-08
打赏
举报
回复
省略号表示“还可能有另外一些参数”
一般来说,只有在那些参数数目和参数类型都有变化的情况下才需要省略号
楼上的
va_list ap;
va_start(ap, i);
...
va_arg(...);
...
va_end(ap);
是必需的;
va_arg()用于按顺序提取出各个无名参数。
va_start()可能会修改了堆栈,这种修改可能导致返回无法完成
va_end()能将有关的修改复原
e_ville
2006-11-08
打赏
举报
回复
变长参数列表。示例程序如下:
// var_arg.cpp -- Using variable-length argument lists
// 2006-07-29 12:46
#include <iostream>
#include <iomanip>
#include <cstdarg>
using namespace std;
double average(int i, ...);
int main() {
double w = 37.5, x = 22.5, y = 1.7, z = 10.2;
cout << "Average of w, x: \t" << average(2, w, x) << endl;
cout << "Average of w, x, y: \t" << average(3, w, x, y) << endl;
cout << "Average of w, x, y, z: \t" << average(4, w, x, y, z) << endl;
return 0;
}
double average(int i, ...) {
double total = 0.0;
va_list ap;
va_start(ap, i);
for(int j = 1; j <= i; j++)
total += va_arg(ap, double);
va_end(ap);
return total / i;
}
Jim_King_2000
2006-11-08
打赏
举报
回复
当然可以不同。但是对变参不提供类型检查,我们还是少用为妙,除非万不得已。
ty263
2006-11-08
打赏
举报
回复
可变参数中参数的类型可以不同吗?
yanghy2013
2006-11-08
打赏
举报
回复
一样可以用
象CString 中的format成员函数就是这样用的
ty263
2006-11-08
打赏
举报
回复
这种参数在C++中能用吗?
或者在C++中有没有更好的替代品?
多谢
lann64
2006-11-08
打赏
举报
回复
可变参数
KenYuan2016
2006-11-08
打赏
举报
回复
同意 楼上
taodm
2006-11-08
打赏
举报
回复
不定参数、变参
征服C++ 11视频精讲
【为什么还需要学习C++?】 你是否接触很多语言,但从来没有了解过编程语言的本质? 你是否想成为一名资深开发人员,想开发别人做不了的高性能程序? 你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础...
c/c++:三维数组,字符数组和字符串,统计字符串
中
字符出现的频次,scanf输入空格,正则匹配表达式
c/c++:三维数组,字符数组和字符串,统计字符串
中
字符出现的频次,scanf输入空格,正则匹配表达式
C++学习之路(六),C++primer plus 第七章 函数--C++的编程模块
第 7 章 函数---C++的编程模块 本章内容包括: 函数基本知识。 函数原型。 按值传递函数
参数
。 设计处理数组的函数。 使用 const 指针
参数
。 设计处理文本字符串的函数。 设计处理结构的函数。 调用自身的函数(递归)。 指向函数的指针。 乐趣在于发现。仔细研究,读者将在函数
中
找到乐趣。C++自
带
了一个包含...
《那些年啊,那些事——一个程序员的奋斗史》三
21 有句话怎么说来着?天下没有不散的宴席。周一段伏枥加班回来,刘思敏一反常态地还在电脑边。 “咦?你还没睡?” “嗯。在弄点东西。” “哦~” “有件事要跟你说。” “嗯?” “公司搬了,可能这周末我要搬走了……” 什么?搬走?一股无名的苦涩感觉涌上心头,说不清是一种什么样的味道。虽然平时加班都非常晚,回来后刘思敏也要睡觉,彼此间也不会说太多的话,但一想到回到出租...
ZWeily的小品文(五)C++入门教程(4)
§4 函数重载和默认
参数
“:( ……”我的msn上突然弹出了这么一张苦瓜脸,不用看也知道是谁了。“师傅,过来帮帮忙好吗?”“不是说过别叫我师傅啊!叫我weily就可以了。怎么了?又有什么问题啊?”“讲不清楚,还是您……老人家……过来看一下吧 :p”young还故意把“老人家”这三个字与前后文分开,改成了黑体、三号字,还改了颜色,并且加粗了。还好我只是刚拿起杯子,还没喝水
C++ 语言
64,660
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章