
- C++ 基礎
- C++ 首頁
- C++ 概述
- C++ 環境設定
- C++ 基本語法
- C++ 註釋
- C++ Hello World
- C++ 省略名稱空間
- C++ 常量/字面量
- C++ 關鍵字
- C++ 識別符號
- C++ 資料型別
- C++ 數值資料型別
- C++ 字元資料型別
- C++ 布林資料型別
- C++ 變數型別
- C++ 變數作用域
- C++ 多個變數
- C++ 基本輸入/輸出
- C++ 修飾符型別
- C++ 儲存類
- C++ 運算子
- C++ 數字
- C++ 列舉
- C++ 引用
- C++ 日期和時間
- C++ 控制語句
- C++ 決策
- C++ if 語句
- C++ if else 語句
- C++ 巢狀 if 語句
- C++ switch 語句
- C++ 巢狀 switch 語句
- C++ 迴圈型別
- C++ while 迴圈
- C++ for 迴圈
- C++ do while 迴圈
- C++ foreach 迴圈
- C++ 巢狀迴圈
- C++ break 語句
- C++ continue 語句
- C++ goto 語句
- C++ 建構函式
- C++ 建構函式和解構函式
- C++ 複製建構函式
C++ 轉換運算子
轉換是一種特殊的運算子,它強制將一種資料型別轉換為另一種資料型別。作為運算子,轉換是單目運算子,其優先順序與任何其他單目運算子相同。
大多數 C++ 編譯器支援的最通用的轉換如下所示:
(type) expression
其中 type 是所需的資料型別。C++ 支援其他轉換運算子,它們列在下面:
const_cast<type> (expr) - const_cast 運算子用於在轉換中顯式覆蓋 const 和/或 volatile。目標型別必須與源型別相同,除了其 const 或 volatile 屬性的更改。這種型別的轉換操作傳遞物件的 const 屬性,將其設定為或刪除。
dynamic_cast<type> (expr) - dynamic_cast 執行執行時轉換,驗證轉換的有效性。如果無法進行轉換,則轉換失敗,表示式計算結果為 null。dynamic_cast 對多型型別執行轉換,並且只能將 A* 指標轉換為 B* 指標,前提是所指向的物件實際上是 B 物件。
reinterpret_cast<type> (expr) - reinterpret_cast 運算子將指標更改為任何其他型別的指標。它還允許在指標與整數型別之間進行轉換,反之亦然。
static_cast<type> (expr) - static_cast 運算子執行非多型轉換。例如,它可以用於將基類指標轉換為派生類指標。
在使用類和物件時,將使用所有上述轉換運算子。現在,嘗試以下示例以瞭解 C++ 中提供的簡單轉換運算子。將以下 C++ 程式複製並貼上到 test.cpp 檔案中,然後編譯並執行此程式。
#include <iostream> using namespace std; main() { double a = 21.09399; float b = 10.20; int c ; c = (int) a; cout << "Line 1 - Value of (int)a is :" << c << endl ; c = (int) b; cout << "Line 2 - Value of (int)b is :" << c << endl ; return 0; }
編譯並執行上述程式碼後,將產生以下結果:
Line 1 - Value of (int)a is :21 Line 2 - Value of (int)b is :10
cpp_operators.htm
廣告