如果标题不清楚,我会尽量澄清我的要求:
想象一下,我有一个名为counter的变量,我知道我可以通过以下方式看到它的当前值:
std::cout << counter << std::endl;
Run Code Online (Sandbox Code Playgroud)
但是,假设我有很多变量,我不知道在运行之前我想要查看哪些变量.
有没有人知道我可以通过使用其名称来获取变量值的方法,例如:
std::cout << valueOf("counter") << std::endl;
Run Code Online (Sandbox Code Playgroud)
我觉得能够做到这一点可能会使调试大型复杂项目变得更容易.
在此先感谢您的时间.
更新:所提供的所有答案都是有效且有用的,但重点是C++中不存在反射(并且在阅读建议的链接之后很明显为什么).
您可以使用关联容器作为std :: map <std :: string,your_variable_type>将字符串链接到变量,假设它们都是相同的类型.
如果您有不同类型的变量,则存在解决方案,如boost :: variant