问题:
我在这里搜索了一段时间,寻找一种循环遍历名为有点像的变量的方法variable_1
, variable_2
, ...., variable_n
。基本上,我问是否有一种方法可以使用循环来实现variable_i
或者,更具体地说,就我而言,functionName_i
.
我需要的:我试图循环对象的数组来调用按顺序命名且与对象的数组并行的不同函数(即: obj[ i ]->callback_i( ) )
我知道的:显然,这里的答案(如果只是变量)是使用数组或向量。但是,如果可能的话,我需要以某种方式按顺序连接函数名称。
可能的解决方法:我想到的一切都可以追溯到创建函数指针的数组/向量。如果我真的别无选择,我最终可能会让它发挥作用,但我只是觉得我应该出于好奇而问。
明确的问题:有没有办法使用变量 int 循环顺序命名的函数i
作为函数名称的一部分?
Thanks!
No.
C++ 在运行时通常不存储类型或变量名信息;如果是的话,它是不可移植的(typeid()
确实因编译器而异)或者这是不可能的。您不能在运行时引用变量名称,除非您创建一个系统来执行此类操作,或者您使用调试信息(这不是标准的 C++ 功能)。
这种类型的反射成本很高,并且更适合高级语言。 C++ 作为一种更底层的语言,去掉了糖分,只是告诉你“不”。
如果你创建一个命名系统,你可以用 C++ 来创建这种类型的东西,但是通用的系统也需要变体,即NULL/Maybe
习语、属性、检查、大量调试,如果您愿意,您可以完成这一切,但您最好切换到另一种已经具有您正在寻找的答案的语言,并将 C++ 绑定到它。
或者,使用函数矩阵或数组。然后,按索引迭代。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)