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

mer*_*011 4 c++

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

#include <iostream>

int main(){
    std::cout<< int(32.5/5)  << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

当你运行上面的代码时,你会得到6,如果使用int类似于强制转换的函数,这是期望的值.

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

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

Lig*_*ica 9

这不是构造函数调用或"函数".没有"int函数".

这是功能性表示法 ; 它只是一个演员.

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

并且,不,C没有它.

  • 我认为你可以为这个问题写一个合理的答案这一事实意味着它并不完全适合我们的格式.我同意我可以更好地表达它,但你相当清楚地理解了它的意图. (2认同)