这是在C++ 例如个人使用的应用程序:有没有办法让用户选择要输入的变量?
class x
{...};
int main()
{
string userinput;
cin>>userinput;
cin>>x."userinput";}
是这样的可能吗?
这是在C++ 例如个人使用的应用程序:有没有办法让用户选择要输入的变量?
class x
{...};
int main()
{
string userinput;
cin>>userinput;
cin>>x."userinput";}
是这样的可能吗?
如果你正在谈论的是允许用户在运行时设置变量名,那么没有。这在C++中是不可能的。根据你想要达到的目标,有几种解决方法。
如果你只需要用户能够访问一个小数目的变量,所有的手之前是已知的,可以使用switch
声明,或一堆if/elseif
小号
如果您需要存储大量变量,其中编号时可能不知道的变量数量,则存在许多仅用于此目的的数据结构。上面有数组,哈希表,链表和数百个变体。然而,这些都是太复杂的话题,只能在一个答案中涵盖。
不,我想在运行时设置变量名我想在运行时输入一个特定的变量,这是我选择的。使用switch case/if-else是我考虑过的事情,但我可能会有更好的解决方案,所以我在这里问了一下。我会研究哈希表并尝试实现它。谢谢您的帮助! – nunya
如果我正确理解你的问题。您需要为'class x'重载'operator >>'。 –
如果我正确理解你的问题:没有这样的事情是不可能的,因为C++没有任何运行时反射设施。 –
它可能是一个哈希表。而不是变量你只是使用散列索引 – Psi