3.7 型態轉換(隱性與顯性)
有時候我們會在不同型態之間轉換數值,例如把一個 bool 當成 int 來用。C++ 有兩種轉換方式:編譯器自動幫你做的(隱性轉換),以及你自己動手指定的(顯性轉換)。
¶隱性轉換(Implicit Conversion)
C++ 會在某些情況下自動幫你轉換型態,稱為隱性轉換——你沒有明講,編譯器自己做。方便歸方便,但有時會悄悄造成意外,所以要知道它「什麼時候會發生」。下面把常見的情況一條一條列出來:
① bool → int:布林值當數字用
當一個 bool 出現在需要數字的地方,true 會變成 1、false 會變成 0: