【发布时间】:2015-12-31 18:57:42
【问题描述】:
我正在尝试编写一个简单的 C++ 程序来创建一个链表。我想让这个列表能够在其容器中存储任何类型的数据。但是,我意识到我的主要问题是能够接受任何类型的输入并存储它。例如std::cin存储的变量为string类型,则只接受strings,且该变量必须在程序编译前定义。
我的问题是:有什么方法可以通过std::cin(或任何其他输入法)接受任何类型的输入,然后根据输入的类型调用某些函数?
一些符合...逻辑的东西
cin >> data
if (data.type == string)
{
cout << "data's type: string"
}
if (data.type == int)
{
cout << "data's type: int"
}
谢谢!
【问题讨论】:
-
C++ Variant的可能重复
-
读取为字符串,尝试转换为整数,如果成功(并且在转换中消耗了所有字符串)那么你有一个整数,否则它是一个字符串。我前段时间回答了这个问题,但似乎找不到我自己的重复答案。
-
重载一个函数来获取不同的类型。为什么不试试呢?只需让每个重载的主体打印出赋予函数的每种类型。
标签: c++ validation input