Yod*_*oda 0 c++ types numbers primitive-types
有没有办法将变量初始化为通用数字类型或int,然后将其类型更改为double?
TYPE x = 4;
// commands changing its type
here it(variable x) became double.
Run Code Online (Sandbox Code Playgroud)
我知道这很奇怪.
变量必须具有相同的名称.
Jac*_*ley 10
C++是一种静态类型语言.声明变量时,类型是固定的.
你可以用联盟来做你所描述的,但需要非常小心,例如
union DoubleInt
{
int i;
double d;
};
DoubleInt X;
X.i = 4;
// ... whatever
X.d = X.i;
X.d += 0.25;
Run Code Online (Sandbox Code Playgroud)
但工会真的只是一个明智的选择,你迫切需要打包.您还可以创建一个可以表现为double或int的类,但实际上,您正在谈论的内容听起来并不像是在用C++方式思考.
最后,boost :: variant可能会做你想要的吗?