【发布时间】:2014-06-10 08:06:41
【问题描述】:
我正在寻找一种从用户那里获取 char* 并使用此字符串来引用我程序中的变量的方法。
这类似于预处理器的粘贴选项##。
例如说我有一个功能:
f(int num);
和变量
int x = 1, z = 2;
并且我希望能够执行以下操作:
int y=f(##arg [1]); \\should be equivalent to: int y=f(x) assuming argv[1] ="x"
或者如果输入是 "z" 则将 z 发送到 f()...
有什么方法可以实现吗?
谢谢。
编辑: 解决方案不必是完全动态的,我可以接受一些假设,例如使可用变量严格,即只有一组允许的变量名。
【问题讨论】:
-
不认为有办法做到这一点。但是如果可能的话,调试会很痛苦
-
调试不是问题...
-
简单明了:在 C 中不可能,但是看到 asm 可能会提供这样的功能。看起来很有趣