如何读取c++的数字

How to read number of c++

本文关键字:c++ 数字 读取 何读取      更新时间:2023-10-16

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

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,...);

要实现这一目标,我必须解决三个问题

  1. 我需要在调用function()时读取参数的数量
  2. 我需要在代码
  3. 中解析参数名
  4. 由于变量不属于同一类型,我需要找到一种方法使函数()类型"透明"

由于我是c++编码的新手,我试图搜索类似的东西,但我找不到任何东西。

欢迎任何帮助、建议或评论!

有多种方法可以这样做。一种方法是创建一个Base类,所有的变量类型都将从这个基类继承。然后将map<string,Base>作为参数传递给函数。变量的名称将是键和值将是实际变量。遍历映射,并为方法设置和赋值。

如果使用c++ 11或c++ 14编码,可以考虑使用一些可变模板。关于这个主题有相当多的文献(例如本教程),这有点棘手(所以在这里解释它是不合理的)。另请参阅参数包

你也可以使用C风格的变量<cstdarg>

也许std::initializer_list也可以用