问题标签 [variadic-functions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 带有函数回调的可变数量的参数(va_list)?
我正在努力实现一个功能,该功能将在几秒钟后执行另一个功能,具体取决于用户的输入。我有一个类的优先级队列(我称之为 TimedEvent),其中包含一个函数指针,指向我希望它在间隔结束时执行的操作。例如,假设用户希望程序在 3 秒后调用函数“xyz”,他们将使用时间和指向 xyz 的函数指针创建一个新的 TimedEvent,并将其添加到优先级队列(按时间排序,使用最先发生的事件)。
我已经能够成功地让优先级队列在指定时间后弹出顶部元素,但在这里遇到了障碍。我要调用的函数可以采用各种不同的参数,从只采用单个整数的参数到采用 3 个整数、一个字符串等的参数,并且还返回不同的值(一些整数、一些字符串等)。我研究了 va_lists (我没有经验),但这似乎不是答案,除非我遗漏了一些东西。
总而言之(TL;DR版本):
我希望能够将这些函数称为“多样化”,因为它们具有相同的函数指针:
我是否在正确的轨道上使用 va_list 和函数回调?这可以轻松(或根本)实现吗?
谢谢!
c - 为带有可变数量参数的函数编写替换(c 编程)
我正在寻找一个函数来替换 fprintf
我不确定如何定义这样的函数,因为在格式参数之后,该函数采用可变数量的参数。具体来说,它至少需要与格式中指定的一样多的附加参数。
更新我找到了有关该主题的资源(http://publications.gbdirect.co.uk/c_book/chapter9/stdarg.html),但该示例似乎无法在我正在使用的操作系统Linux下编译。
一个只调用 fprintf 的 fprintf 替换示例会很有帮助。
这不是家庭作业。我只是一个试图在空闲时间学习如何编程的初学者。谢谢!
php - 将参数传递给 PDO 的好方法
当处理超过 3 或 4 个参数时,位置参数将成为一场噩梦。命名参数是冗长的。我正在考虑这样做:
使用动态参数(使用func_get_args()
),每一秒都会转换为位置参数。
我以前从未见过这个,想知道是否有人以前做过这个,为什么/为什么不这样做?
c - 宏中的变量参数
我有一个接受可变参数的函数,如下所示
在头文件中,我使用类似
基本上思路就是SWITCH调试ON&OFF~~~
- 问题:上述逻辑在 Linux 和 gcc 中运行良好,但在 Windows VC++ 中编译时出错。
php - PHP:通过引用的可变长度参数列表?
是否可以创建一个 PHP 函数,该函数通过引用获取可变数量的参数?
它对我一个通过引用接收值数组的函数没有帮助,也对一个将其参数包装在一个对象中的函数没有帮助,因为我正在处理函数组合和参数绑定。也不要考虑调用时的引用传递。那东西根本就不应该存在。
java - slf4j 是否有 Java 1.5 varargs API?
我想摆脱这一切...
...并用这个替换它...
...这样我的日志记录语法就不必根据我要记录的参数数量而改变。似乎有很多讨论和工作围绕它,但它在哪里?或者我应该包装 slf4j 的包装器吗?
javascript - 是否可以向 JavaScript 函数发送可变数量的参数?
是否可以从数组向 JavaScript 函数发送可变数量的参数?
我最近写了很多 Python 并且能够接受 varargs 并发送它们是一个很棒的模式。例如
是否可以在 JavaScript 中发送一个数组作为参数数组处理?
c++ - 将 va_arg 两次传递给函数会产生相同的值
我正在尝试使用 va_arg 在我的 GUI 库中创建一个通用工厂函数。当在同一个函数中传递 va_arg 两次时,它们传递相同的值而不是两个不同的值:
是什么导致了这种意外行为?