C/C++编程: initializer_list形参实现可变参数 矫情吗;* 2022-11-12 04:22 174阅读 0赞 # C++中的可变参数 # 编程构造中经常会遇到希望函数的参数可变的情况,一个最常见的例子就是`printf`函数,它可以根据用户的需要调整参数的个数。日式我们也可以自己设计可变参数的函数,比如: int test(int num, ...) { int i, result = 0; va_list parlist; va_start(parlist, num); //准备参数列表 for (i = 0; i < num; i++) { //取得每个参数,类型由av_arg的第二个参数决定 printf("%d\n", va_arg(parlist, int)); } va_end(parlist);//关闭参数列表 return result; } test的后续参数个数由第一个参数number决定。有了这样的test函数,就可以根据需要决定参数的个数了。下面的代码都可以正常动作: test(2, 10, 20); test(4, 1, 2, 3, 4); # C++11中的可变参数 # C++11在标准库中提供了`initializer_list`类,用于处理参数数量可变但是类型相同的情况。使用`initializer_list`最常用的方式是通过`{}`包围的值列表对其进行初始化: initializer_list<int> vlist{ 9, 8, 7, 6}; 继续看下面的函数: template<typename T> void output(initializer_list<T> lst) { for(auto &a : lst){ cout << a << endl; } } 这个函数很简单,就是输出list中的内容,它有几个特点: * 通过模版,auto的使用,是它可以自动适应参数的类型 * 通过initializer\_list的使用,自动适应参数的个数 函数弄好以后,怎么使用就可以看心情了。 initializer_list<int> vlist{ 9, 8, 7, 6}; output(vlist); output({ 1, 3, 4, 5}); output({ "How", "are", "you", "!"});
相关 Java泛型编程:如何实现可变参数的实例 在Java中,虽然没有直接支持可变数量的参数(如Python的*args和**kwargs),但是可以通过自定义类或者方法来模拟这种行为。 以下是两种常见的实现方式: 1. 蔚落/ 2024年09月10日 17:24/ 0 赞/ 39 阅读
相关 Java方法参数的形参和实参 在之前的文章中,小千给大家讲解了方法的定义、调用和返回值,但方法的内容还有很多,比如方法的参数是怎么回事?接下来会在这篇文章中,继续给大家讲解方法参数相关的知识,这就是我们今天 曾经终败给现在/ 2024年03月26日 15:33/ 0 赞/ 73 阅读
相关 C/C++编程:va_list实现可变参数 理论 变常参数的宏定义以及`__VA_ARGS` 变长参数的宏定义是指在宏定义中参数列表的最后一个参数为省略号,而预定义宏`__VA_ARGS`则可以在宏定义的实现 女爷i/ 2022年12月24日 05:56/ 0 赞/ 127 阅读
相关 C/C++编程: initializer_list形参实现可变参数 C++中的可变参数 编程构造中经常会遇到希望函数的参数可变的情况,一个最常见的例子就是`printf`函数,它可以根据用户的需要调整参数的个数。日式我们也可以自己设计可变 矫情吗;*/ 2022年11月12日 04:22/ 0 赞/ 175 阅读
相关 如何实现可变参数函数 http://blog.163.com/liuqiang\_mail@126/blog/static/1099688752012102335624938/ 通常我 分手后的思念是犯贱/ 2022年08月24日 04:26/ 0 赞/ 211 阅读
相关 如何实现可变参数函数 http://blog.163.com/liuqiang\_mail@126/blog/static/1099688752012102335624938/ 通常我们 不念不忘少年蓝@/ 2022年08月13日 12:39/ 0 赞/ 188 阅读
相关 Java变量,形参,实参 成员变量 成员变量定义在类中,在整个类中都可以被访问。 成员变量分为类成员变量和实例成员变量,实例变量存在于对象所在的堆内存中,类成员变量也叫静态变量,存在于静态域内 骑猪看日落/ 2022年06月03日 02:09/ 0 赞/ 255 阅读
相关 Idea去除方法形参参数提示 描述:Idea安装完成默认自带方法参数提示,虽然比较友好,但是看起来特别不清晰,所以选择关闭 ![70][] 步骤: 1.File -> Settings进入设置 Love The Way You Lie/ 2022年05月19日 07:18/ 0 赞/ 234 阅读
相关 iOS学习笔记(5)形参个数可变的方法 如果在定义方法时,在最后一个形参明后增加逗号和三点(,...),则表明该形参可以接受多个参数值。 为了在程序中获取个数可变的形参,需要使用如下关键字 · va 浅浅的花香味﹌/ 2021年12月15日 11:47/ 0 赞/ 213 阅读
还没有评论,来说两句吧...