gpt4 book ai didi

c++ - "Variable"变量名 C++

转载 作者:太空狗 更新时间:2023-10-29 21:17:43 25 4
gpt4 key购买 nike

问题:我在这里搜索了一段时间,寻找一种循环遍历名称有点像 variable_1 的变量的方法。 , variable_2 , ...., variable_n .基本上,我在问是否有一种方法可以使用循环来实现 variable_i或者,更具体地说,就我而言,functionName_i .

我需要的:我正在尝试循环一个对象数组来调用不同的函数,这些函数按顺序命名并与对象数组并行(即:obj[i]->callback_i ( ) )

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

可能的解决方法:我想到的一切都可以追溯到创建函数指针的数组/vector 。如果我真的别无选择,我可能最终会使用它,但我只是觉得出于好奇我应该问问。

明确问题:有没有一种方法可以使用变量 int i 循环遍历按顺序命名的函数?作为函数名称的一部分?

谢谢!

最佳答案

没有。

C++ 通常不会在运行时存储类型或变量名信息;如果是,则它不可移植(typeid() 确实因编译器而异)或者根本不可能。你不能在运行时引用变量名,除非你让系统做那种事情,或者你使用调试信息,这不是标准的 C++ 功能。

这种类型的反射很昂贵,更适合高级语言。 C++,作为一种更底层的语言,去掉了糖分,直接告诉你“不”。

如果你制作一个命名系统,你可以在 C++ 中制作这种类型的东西,但通用的命名系统还需要变体,NULL/Maybe 习语的一个版本,属性,检查,很多调试,如果你愿意,你可以做所有的事情,但在这里你也可以切换到另一种已经有你正在寻找的答案的语言,并将 C++ 绑定(bind)到它。

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

关于c++ - "Variable"变量名 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31888969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com