可以通过执行以下操作将字符串转换为变量(反之亦然):
makeVariable("int","count");
要么
string fruit; cin >> fruit; // user inputs "apple" makeVariable(fruit,"a green round object");
然后可以通过执行以下操作来访问它:
cout << apple; //a green round object
提前致谢!
解决方法
不,这是不可能的.这种功能在诸如Ruby和Python的脚本语言中很常见,但C与这些功能非常不同.在C中,我们尝试尽可能多地完成该程序的工作,我们可以在
compile time.有时我们可以在
runtime做事情,即使那么好的C程序员将会找到一种方法来尽早完成工作.
如果你知道你要创建一个变量,然后马上创建它:
int count;
你可能不会提前知道的是变量的值,所以你可以推迟这个运行时:
std::cin >> count;
如果你知道你将需要一个变量的集合,但不是准确地有多少变量创建一个map或vector:
std::vector<int> counts;
请记住,变量的名称不过是一个名字 – 稍后可以引用变量的方式.在C中,在运行时推迟分配变量的名称是不可能也不有用的.所有这一切将使您的代码更复杂,您的程序更慢.