【发布时间】:2017-02-14 17:42:52
【问题描述】:
以下代码将浮点类型7.5转换为整数值7,余数丢失。在这里,类型转换运算符是int。我知道它在 C++ 中是有效的类型转换。
int main()
{
int i;
float f = 7.5;
i = (int) f; // Valid in C/C++
}
但在C/C++ 中做同样事情的另一种方法是在要按类型转换的表达式之前使用函数表示法,并将表达式括在括号之间:
i = int (f); // It is worked in C++ but not C
所以,我有一个问题,在 C++ 中进行类型转换是否有效?
【问题讨论】:
-
你试过了吗?成功了吗?
-
没有 C/C++ 语言。这是一种 C++ 类型转换语法,所以在问这样的问题之前先读一本书en.cppreference.com/w/cpp/language/explicit_caststackoverflow.com/q/7558837/995714
-
@R Sahu 对不起,它在 C 中不起作用,但在 C++ 中,它工作正常。