41 型別轉換函式 上

2021-08-20 02:24:26 字數 1101 閱讀 3714

標準資料型別之間會進行隱式的型別安全轉換:

轉換規則如下:

char -> short -> int -> unsigned int -> long -> unsigned long -> float -> double
【範例**】有趣的隱式型別轉換

#include #include using namespace std;

int main(int argc, const char* argv) else

cout << "sizeof(s + 'b') = " << sizeof(s + 'b') << endl;

return 0;

}

【問題】普通型別與類型別之間能否進行型別轉換?類型別之間能否進行型別轉換?

舊式的c方式強制型別轉換:

int i;

test t;

i = int(1.5);

t = test(100);

編譯器會盡量嘗試讓原始碼通過編譯。

test t;

t = 100;

100這個立即數預設為int型別,怎麼可能賦值給t物件呢!現在就報錯嗎?不急,我看看有沒有轉換建構函式!ok,發現test類中定義了test(int i),可以進行轉換,預設等價於:t = test(100);

轉換方式: 

static_cast(value);

classname(value);

(classname)value; // 不推薦

【範例**】普通型別->類型別

#include #include using namespace std;

class test

explicit test(int i)

test operator + (const test& p)

int value()

};int main(int argc, const char* argv)

41 型別轉換函式(上)

注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 9.2.0 一 再論型別轉換 1 標準資料型別之間會進行隱式的型別安全轉換 2 轉換規則如下 實驗分析 有趣的隱式型別轉換 41 1.cpp include include using n...

41 型別轉換函式

標準資料型別之間會進行隱式的型別安全轉換,規則如下 char short int unsigned int long unsigned long float double 小轉大 include include using namespace std int main else cout sizeo...

4 1 型別轉換

影象型別轉換就是把影象從一種型別轉換成另一種型別。opencv提供了200多種型別轉換。我們這次學三個。型別有 cv2.color bgr2gray 彩色影象轉灰度影象 cv2.color bgr2rgb bgr轉rgb cv2.color gray2bgr 灰度轉彩色 使用方法 b cv2.cvt...