【发布时间】:2023-04-09 07:42:01
【问题描述】:
我将 int 转换为 float 并将 1.23 输入到 'a' 但输出为 1 怎么了?
int a = 123;
static_cast<float>(a);
cout << typeid(a).name(); //int
cin >> a; //1.23
cout << a; //1
return 0;
【问题讨论】:
-
您的代码获取 a 的值,将 a 的值转换为 float 而不会影响 a,然后将结果丢弃。这是完全没有意义的, a 是不变的。
标签: c++ type-conversion static-cast