Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何读取参数数C++_C++_Arguments - Fatal编程技术网

如何读取参数数C++

如何读取参数数C++,c++,arguments,C++,Arguments,通常在我的代码中,我需要为各种变量使用特定的函数,例如 object->SetStatus("var1",1); object->SetAddress("var1",&var1); object->SetStatus("var2",1); object->SetAddress("var2",&var2); object->SetStatus("var3",1); object->SetAddress("var3",&var3); ...

通常在我的代码中,我需要为各种变量使用特定的函数,例如

object->SetStatus("var1",1); object->SetAddress("var1",&var1);
object->SetStatus("var2",1); object->SetAddress("var2",&var2);
object->SetStatus("var3",1); object->SetAddress("var3",&var3);
...
我的想法是使用一个函数,通过调用它来自动完成这项工作,即

object->function(var1,var2,var3,...);
要实现这一目标,我必须解决三个问题

调用函数时,我需要读取参数的数量 我需要以某种方式解析代码中的参数名称 由于变量的类型不同,我需要找到一种方法使函数类型透明 <>因为我在C++代码中是新手,我试图搜索类似的东西,但是我什么也找不到。
欢迎任何帮助、建议或评论

有多种方法可以做到这一点。一种方法是创建一个基类,所有变量类型都将继承自该基类。然后将映射作为参数传递给函数。变量的名称将是键,值将是实际变量。迭代遍历地图并设置值并将其赋值给方法。

如果C++ 11或C++ 14中编码,可以考虑一些。关于这个主题有大量的文献,例如,这有点棘手,所以在这里解释它是不合理的。还可以阅读关于

您还可以使用


可能也有用。

省略号是您要寻找的关键词,但一般来说,您可以做一些更好的事情来避免使用它们。您正在编写哪些应用程序来解释程序?在C++11或C++03中?var1的类型是什么?@BasileStarynkevitch:我正在CERN的数据分析框架中编码,该框架被称为root。类型是int、double和float、numerical。省略的问题是被调用函数无法知道传递给它的参数有多少,这就是OP所要求的。您可以添加一个计数作为第一个/第二个参数,或者具有唯一的参数结束值。另外,“函数”在做什么?可能有一种不同的方式来处理这个问题,即更多的C++。