c++14、隐式转换

来源:互联网 发布:美工钢笔怎么写字 编辑:程序博客网 时间:2024/05/02 00:05

C++有关的基础前十三篇,虽然粗减,单页已经大致介绍了一遍。在介绍文件操作和stl之前,我们简单地介绍一下另外一个关注点,隐式类型转换,简称隐式转换。

程序如下:


同时我们可知,每一次类的大小都是8个字节。如果不需要隐式转换或不清楚需不需要隐式转换,那就尽量加上explicit,显示声明一下,阻止隐式转换。

介绍完隐式转换,我们还要再说一下一般性的强制转换:

#include <iostream>
using std::cout; using std::endl;

int main()
{
int i = 1024;
int k = -i; // k is -1024
cout << i << "  " << k << endl;

bool b = true;
bool b2 = -b; // b2 is true!
//bool b2 = !!i;
cout << b << " " << b2 << " " << endl;

return 0;
}


虽然b2 也是bool型,但是这种转换并不安全。因为这相当于是把一个int(-1)赋给了b2。

如果真的要把一个int赋给b2 ,请使用“!!”。

0 0
原创粉丝点击