leaveyourownlife

1.

  float a=1.0f;
cout<<(int)a<<endl;
cout<<(int&)a<<endl;
【解析】:

(int&)a:将a的引用强制转换为整型,意思是a所在的内存,本来定义的时候为float类型,并初始为1.0f,
 但现在我要按int类型解释这段内存(也就是说a所在的内存地址中的数据本来是按float型存储表示的,你非要按int型来解释不可)。
1.0f 在内存中的存储为
0 011 1111 1 000 0000 0000 0000 0000 0000.
把他按整型数解释为2^29+2^28+2^27+2^26+2^25+2^24+2^23=1065353216

(int&)a 相当于
*(int*)&a
*(int*)(&a)
*((int*)&a)

2.
charch[]=”abc”;sizeof(ch);结果为4,注意字符串数组末尾有’\0’!


分类:

技术点:

相关文章:

  • 2021-12-02
  • 2021-11-23
  • 2021-08-16
  • 2022-12-23
  • 2021-11-14
  • 2021-11-03
  • 2021-12-31
  • 2022-12-23
猜你喜欢
  • 2021-10-19
  • 2021-11-02
  • 2022-12-23
  • 2021-04-25
  • 2021-05-04
  • 2021-10-16
  • 2021-11-14
相关资源
相似解决方案