可以在C ++中使用动态分配的参数数创建函数吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可以在C ++中使用动态分配的参数数创建函数吗?相关的知识,希望对你有一定的参考价值。

我正在尝试编写一个程序,要求用户输入“他们想要添加多少个数字”,然后在函数中添加所有数字。我想用动态分配的参数数创建添加函数,这样就有X“int num {someNumber}”,其中X是用户想要添加的数字的数量。我目前的代码(非常粗糙)是:

  int var = 0;
string multiply(int num);
void testing(int num, multiply(var));
int main(){}
void testing(int num, multiply(var)) {
}//end testing

//Function to append int num{num} to string
string multiply(int num) {
    string declaration = "null";
    for (int num = 0; num <= var; num++) {
        declaration.append("int num" + num);
    }//end for 
    return declaration;
}//end multiply

我意识到仍有工作要做,例如删除最后一个逗号,但是是否可以在函数定义中使用字符串来声明X int num参数?

答案

另一个类似的问题已经存在,请查看答案:Variable number of arguments in C++?

尽管可以使用可变数量的参数定义函数,但您可能还需要考虑迭代或递归地定义程序。

具有可变数量的参数的函数有时可能非常有用,但也可能导致奇怪的边缘情况,例如scanf("%d")想要扫描整数,但没有给出一个地址来放置它。允许函数调用,扫描的整数将覆盖内存中的(可能很重要的)位置。

以上是关于可以在C ++中使用动态分配的参数数创建函数吗?的主要内容,如果未能解决你的问题,请参考以下文章

您可以在 PHP 中动态创建实例属性吗?

您可以在 C++ 中使用“新”模拟动态数组大小吗?

如何在 React 中动态创建状态?

c中可以定义变长数组吗

我可以在我的 iphone 应用程序中使用动态库(共享对象)吗?

在 C 中使用动态内存分配创建数据库