gpt4 book ai didi

c++ - 动态使用可变参数函数

转载 作者:搜寻专家 更新时间:2023-10-31 01:39:39 26 4
gpt4 key购买 nike

我一直在寻找答案,但我不确定,可变参数函数是在编译时还是动态创建或解析的?例如,是否可以在运行时获取用户输入,然后根据输入的输入数调用函数?谢谢

void func(int num_args, ...)
{
....
}

最佳答案

函数参数的数量和类型在编译时解析,值在编译时或运行时解析,具体取决于它们的值是否类似于constexpr

想一想如何使用在运行时收集的任意数量的变量来调用函数。这种构造没有 C++ 语法。

你应该做的是使用像 std::vector 这样的东西。一些虚拟函数的例子:

void func (const std::vector<std::string>& args);
std::string getarg();
bool haveargs();

int main() {
std::vector<std::string> args;
while (haveargs()) {
args.push_back(getarg());
}
func(args);
}

关于c++ - 动态使用可变参数函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30861698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com