(int&)a与(int)a的区别??!!
float a = 1.0f;
cout << (int)a << endl;
cout << (int&)a << endl;
cout << bool(( (int)a == (int&)a ))<< endl;
请问大家:(int&)a与(int)a两者是怎样对a进行解释的?
[解决办法]
(int&)a 不经过转换, 直接得到a在内存单元的值
(int)&a a在内存中的值转换成int类型
[解决办法]
一个是int型的
一个是int型的引用,呵呵
还有手头上没有编译器
怀疑你的(int&)a操作的正确性,a是浮点型的,貌似不可以转化为int的引用
[解决办法]
C++ 不太清楚……
[解决办法]
1 #include <iostream>23 using namespace std;45 int main()6 {7 float a = 1.0f;8 cout << (int)a << endl;9 cout << (int&)a << endl;10 cout << boolalpha << ( (int)a == (int&)a ) << endl;11 float b = 0.0f;12 cout << (int)b << endl;13 cout << (int&)b << endl;14 cout << boolalpha << ( (int)b == (int&)b ) << endl;15 return 0;16 }
[解决办法]
一个是按实际的数据转换,一个是按内存中存储的数据转换
[解决办法]
试试
cout < < (int)a < < endl;
cout < < (int&)a < < endl;
cout < < (float&)a< <endl;