注册 登录
编程论坛 C++教室

关于强制类型转换

cclearner 发布于 2007-07-05 16:06, 554 次点击
强制类型转换之一
是(int) Z
还是 int (Z)?或者,有什么区别?
括号到底在那里?
8 回复
#2
aipb20072007-07-05 16:34
(int)Z.


#3
cclearner2007-07-05 16:39
我怎么记得我运行的时候
是int (Z)行
而不是
(int) Z
行呢?
#4
aipb20072007-07-05 16:50
代码贴出来看看。
#5
cclearner2007-07-05 16:53
呀,好久以前的事情了
我一时找不着
我找着了类似能运行的,贴出来看看
其实我自己也觉得奇怪呢
#6
cclearner2007-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
leeco2007-07-05 18:16
(int)z 是C语言的规定
int(z) 是C++支持的,当然C++仍然支持C语言的写法
但是在C++中更建议你使用 static_cast<int>(z)
#8
cclearner2007-07-05 19:32
正式的写法有很多种吧?我觉得都太麻烦,没记住
谢谢了
#9
野比2007-07-06 00:01

正式写法是leeco说的...static_cast<type>(tocast)
不过就用你的方法就ok了 ..
type(tocast)

int(z)...

1