“变量”变量名称C ++

迅雷结构

问题:我已经有一段通过命名有点像变量寻找一种方式来循环一直在寻找在这里variable_1variable_2,..., variable_n基本上,我想问的是是否有一种方法可以使用循环来实现,variable_i或者更具体地说,是我的情况functionName_i

我需要什么:我试图循环对象的数组以调用不同的函数,这些函数依次命名并与对象的数组平行(即:obj [i]-> callback_i())

我所知道的:显然,这里的答案(如果只是变量)是使用数组或向量。但是,如果可能的话,我只需要以某种方式顺序地连接函数的名称。

可能的解决方法:我想到的一切都可以回溯到创建函数指针的数组/向量。如果我真的没有选择的余地,我可能会最终使它工作,但是我只是出于好奇而问。

明确的问题:有没有一种方法可以使用变量inti作为函数名称的一部分来遍历顺序命名的函数

谢谢!

CinchBlue

不。

C ++通常在运行时不存储类型或变量名信息。如果是这样,它就不是可移植的(typeid()在不同的编译器中会有所不同),或者根本不可能。您不能在运行时引用变量名,除非您使系统执行此类操作,或者使用调试信息(这不是标准的C ++功能)。

这种类型的反射很昂贵,并且更适合于高级语言。C ++是一种较低级的语言,它剥夺了糖,只是告诉您“不”。

如果创建命名系统,则可以使用C ++进行这种处理,但是通用化处理还需要变体,NULL/Maybe惯用语的版本,属性,检查和大量调试,并且您可以根据需要进行所有操作,但这在这里,您最好切换到已经找到所需答案的另一种语言,并将C ++绑定到该语言。

或者,使用函数的矩阵或数组。然后,按索引进行迭代。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章