1. 程式人生 > >c++14、隱式轉換

c++14、隱式轉換

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 ,請使用“!!”。