请问Int(x)和(Int)x的区别,假设x是float x = 9.2;
请问Int(x) 和 (Int)x 的区别 假设x是float x = 9.2;
[解决办法]
如果仅仅是转换一个变量,没有区别。第一种是把括号内的值转换成int,第二种是把x转换成int
[解决办法]
一种是定义,一种是强制类型转换吧。第一种就是定义一个int类型的数据x吧,第二种就是将x强制类型转换为int类型。
[解决办法]
- C/C++ code
#include "StdAfx.h"#include <stdio.h>#include<iostream>using namespace std;int main(){ float x = 9.2; cout<<int(x)<<endl; cout<<(int)x<<endl; getchar(); return 0;}
[解决办法]
就像sizeof int和sizeof(int)
[解决办法]
这个明确,+1
[解决办法]
[解决办法]
[解决办法]
[解决办法]
一个是定义一个是强制转换
[解决办法]
(int)x中的(int)是一个运算符----强制类型转换
而Int(x)是当年照顾一些从其它语言转到C的程序员(不习惯强制类型转换),用函数(或宏)来取整
用句时髦的话说:等效(效果相同)不等价(手段不一样)
[解决办法]
[解决办法]
我理解为语意上不一样
(int)x为类型转换
int(x)可以理解为int的一个构造函数