为什么需要指定变量的数据类型?如果我的程序要求用户输入可能属于两种非交叉数据类型中的任何一种的数据,该怎么办?不应该提供在不指定变量的情况下声明变量的选项,以便考虑情况。为什么我们不能让计算机根据用户输入决定数据类型?如果编译器具有足够的能力来识别类型错误,我确信它可以根据输入轻松指定数据类型。
答案 0 :(得分:0)
编译器不处理输入,因此没有选择。
boost::variant<T,U>
类型可以包含T
或U
值,但您仍需要向编译器指定所有可能的选项,并且您必须明确你的内容。
用户输入始终以字符串形式开头。解析将其转换为类型,但结果取决于实际解析。如果您正在解析浮点值,0
是一个非常精细的浮点值。