如何读取c++的数字
How to read number of c++
通常在我的代码中,我需要为各种变量使用特定的函数,即
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,...);
要实现这一目标,我必须解决三个问题
- 我需要在调用function()时读取参数的数量
- 我需要在代码 中解析参数名
- 由于变量不属于同一类型,我需要找到一种方法使函数()类型"透明"
由于我是c++编码的新手,我试图搜索类似的东西,但我找不到任何东西。
欢迎任何帮助、建议或评论!
有多种方法可以这样做。一种方法是创建一个Base
类,所有的变量类型都将从这个基类继承。然后将map<string,Base>
作为参数传递给函数。变量的名称将是键和值将是实际变量。遍历映射,并为方法设置和赋值。
如果使用c++ 11或c++ 14编码,可以考虑使用一些可变模板。关于这个主题有相当多的文献(例如本教程),这有点棘手(所以在这里解释它是不合理的)。另请参阅参数包
你也可以使用C风格的变量<cstdarg>
也许std::initializer_list也可以用
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 检查输入是否不是整数或数字
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 如何用数字处理log(0)
- 最高有效数字侧的第N位
- 如何获取一个数字的前3位
- 查找最接近的大于当前数字的数字的索引
- 找到两对数字,使它们的乘积的绝对差最小化
- 我想做一个彼此不同但重复出现的数字
- 将数字转换为字母(例如:123 转换为一二三)
- C++如何计算用户输入的数字中的偶数位数
- 如何在C++中确定文本文件中的元素是字符还是数字
- 打印数字图案
- C++问题:用户认为数字1-100,程序提出问题不超过6次即可得到答案。无法正确
- 如何检查一个c++字符串中有多少相同的字符/数字
- 求出有多少个数字是完美平方,而sqrt()是L,R范围内的素数
- 将数字打印成文字
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 在将数字随机生成为数组期间从内存输出随机数的数组