看上这个输出结果
看下这个输出结果。
float a = 1.0f;
cout << boolalpha << ( (int)a == (int&)a ) << endl; // 输出什么? 0
Float b = 0.0f;
cout << boolalpha << ( (int)b == (int&)b ) << endl; // 输出什么? 1
有谁知道为什么吗?
------解决方案--------------------
同类型的变量的引用和变量值是一致的,但强制转换后的变量值和引用值不同,而变量值等于0时除外。
float a = 1.0f;
cout << boolalpha << ( (int)a == (int&)a ) << endl; // 输出什么? 0
Float b = 0.0f;
cout << boolalpha << ( (int)b == (int&)b ) << endl; // 输出什么? 1
有谁知道为什么吗?
------解决方案--------------------
同类型的变量的引用和变量值是一致的,但强制转换后的变量值和引用值不同,而变量值等于0时除外。