c++ - 可变函数参数列表可以通过引用传递吗?

标签 c++ parameter-passing pass-by-reference

我们可以使用 stdarg 库中的 ... 符号创建参数数量可变的函数。是否也可以通过引用传递这些参数?例如。可能返回可变数量的输出值。

最佳答案

不是真的(除了 template varargs ),对于 <stdarg.h> 意义上的可变函数.你不能打电话

void foo(int, ...);

作为

int x = 0, y = 1;
foo(2,x,y);

并期待 xy通过引用传递。但是,您可以传递他们的地址:

foo(2, &x, &y);

而且您可能可以使用可变参数模板技巧或预处理器宏技巧来转换 FOO(x,y)进入foo(2,&x,&y)

关于c++ - 可变函数参数列表可以通过引用传递吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25649215/

相关文章:

javascript - 有没有办法记住从参数传递的函数 - (useCallback) exhaustive-deps

bash - 如何转义变量中的特殊字符以在 bash 中提供命令行参数

python - 将列表传递给函数以充当多个参数

c++ - 访问引用变量终止程序

通过引用传递给函数来更改数组的元素

c++ - CMake: `include_directories` 与 `target_link_libraries` 有什么区别

c++ - 在 Windows 桌面应用程序中使用第三方 C++ 库

c++ - 如何让模板模板参数取一个数值?

c++ - 传递参数、列表和复制构造函数 C++

c - 请求非结构或 union 中的成员 xxxx