int(expr)在C ++中的含义是什么?

时间:2015-02-14 19:32:35

标签: c++

在查看朋友项目中的一些代码时,我最近看到的语法看起来像这样。

#include <iostream>

int main(){
    std::cout<< int(32.5/5)  << std::endl;
}

当你运行上面的代码时,你得到6,如果使用int函数就像一个强制转换,这是期望值。

但是,我以前从未见过这种语法,我在网上找不到它的文档。我还做了一个实验,发现这种语法在C中无效。

有人可以通过文档参考解释这种语法的含义吗?

1 个答案:

答案 0 :(得分:9)

这不是构造函数调用或“函数”。没有“int函数”。

这是功能强制转换符号; it's just a cast

(int)(32.5/5)相同(在这种特殊情况下)。

而且,不,C没有它。