编程论坛
注册
登录
编程论坛
→
C++教室
关于强制类型转换
cclearner
发布于 2007-07-05 16:06, 554 次点击
强制类型转换之一
是(int) Z
还是 int (Z)?或者,有什么区别?
括号到底在那里?
8 回复
#2
aipb2007
2007-07-05 16:34
(int)Z.
#3
cclearner
2007-07-05 16:39
我怎么记得我运行的时候
是int (Z)行
而不是
(int) Z
行呢?
#4
aipb2007
2007-07-05 16:50
代码贴出来看看。
#5
cclearner
2007-07-05 16:53
呀,好久以前的事情了
我一时找不着
我找着了类似能运行的,贴出来看看
其实我自己也觉得奇怪呢
#6
cclearner
2007-07-05 17:58
#include <iostream>
using namespace std;
int main()
{
float z=8.56;
int a;
a=int (z);
cout<<a;
}
这个最简单的是可以的,当然(int)z试了一些也行,是不是两个一样,都可以阿?
#7
leeco
2007-07-05 18:16
(int)z 是C语言的规定
int(z) 是C++支持的,当然C++仍然支持C语言的写法
但是在C++中更建议你使用 static_cast<int>(z)
#8
cclearner
2007-07-05 19:32
正式的写法有很多种吧?我觉得都太麻烦,没记住
谢谢了
#9
野比
2007-07-06 00:01
正式写法是leeco说的...static_cast<type>(tocast)
不过就用你的方法就ok了 ..
type(tocast)
int(z)...
1