<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # C++ 類型轉換 > 原文: [https://www.programiz.com/cpp-programming/type-conversion](https://www.programiz.com/cpp-programming/type-conversion) #### 在本教程中,我們將借助示例學習 C++ 類型轉換的基礎知識。 C++ 允許我們將一種類型的數據轉換為另一種類型的數據。 這稱為類型轉換。 C++ 中有兩種類型的類型轉換。 1. 隱式轉換 2. 顯式轉換(也稱為類型轉換) * * * ## 隱式類型轉換 由編譯器自動完成的類型轉換稱為隱式類型轉換。 這種類型的轉換也稱為自動轉換。 讓我們看一下隱式類型轉換的兩個例子。 * * * ### 示例 1:從`int`轉換為`double` ```cpp // Working of implicit type-conversion #include <iostream> using namespace std; int main() { // assigning an int value to num_int int num_int = 9; // declaring a double type variable double num_double; // implicit conversion // assigning int value to a double variable num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; } ``` **輸出** ```cpp num_int = 9 num_double = 9 ``` 在程序中,我們已將`int`數據分配給`double`變量。 ```cpp num_double = num_int; ``` 此處,在將`int`值分配給`num_double`變量之前,編譯器會自動將其轉換為`double`。 這是隱式類型轉換的示例。 * * * ### 示例 2:自動從`double`轉換為`int` ```cpp //Working of Implicit type-conversion #include <iostream> using namespace std; int main() { int num_int; double num_double = 9.99; // implicit conversion // assigning a double value to an int variable num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; } ``` **輸出** ```cpp num_int = 9 num_double = 9.99 ``` 在程序中,我們已將`double`數據分配給`int`變量。 ```cpp num_double = num_int; ``` 此處,在將`double`值分配給`num_int`變量之前,編譯器會自動將其轉換為`int`。 這也是隱式類型轉換的示例。 **注意**:由于`int`不能為小數部分,因此在上面的示例中,小數點后的數字被截斷了。 * * * ### 轉換期間的數據丟失(縮小轉換) 從上面的示例可以看出,從一種數據類型轉換為另一種數據類型很容易造成數據丟失。 當較大類型的數據轉換為較小類型的數據時,會發生這種情況。 ![Data loss in C++ if a larger type of data is converted to a smaller type.](https://img.kancloud.cn/9a/a2/9aa2bd6e86fb539fa152f6fdb0aca4fa_555x1013.png "C++ Type Conversion") 類型轉換期間可能的數據丟失 * * * ## C++ 顯式轉換 當用戶手動將數據從一種類型更改為另一種類型時,這稱為**顯式轉換**。 這種類型的轉換也稱為**類型轉換**。 我們可以使用三種主要方法在 C++ 中使用顯式轉換。 他們是: 1. C 樣式類型轉換(也稱為**轉換符號**) 2. 函數符號(也稱為**舊的 C++ 樣式類型轉換**) 3. 類型轉換運算符 * * * ### C 風格轉換 顧名思義,這種類型的轉換受到 **C 編程語言**的青睞。 也稱為**強制轉換符號**。 這種樣式的語法是: ```cpp (data_type)expression; ``` 例如, ```cpp // initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = (double)num_int; ``` * * * ### 函數樣式轉換 我們還可以使用類似函數的符號將數據從一種類型轉換為另一種類型。 The syntax for this style is: ```cpp data_type(expression); ``` For example, ```cpp // initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = double(num_int); ``` * * * ### 示例 3:類型轉換 ```cpp #include <iostream> using namespace std; int main() { // initializing a double variable double num_double = 3.56; cout << "num_double = " << num_double << endl; // C-style conversion from double to int int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // function-style conversion from double to int int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; } ``` **輸出** ```cpp num_double = 3.56 num_int1 = 3 num_int2 = 3 ``` 我們將 **C 樣式類型轉換**和**函數樣式轉換都用于類型轉換**,并顯示了結果。 由于它們執行相同的任務,因此兩者都給我們相同的輸出。 * * * ### 類型轉換運算符 除了這兩個類型轉換外,C++ 還具有四個用于類型轉換的運算符。 它們被稱為**類型轉換運算符**。 他們是: * `static_cast` * `dynamic_cast` * `const_cast` * `reinterpret_cast` 我們將在以后的教程中了解這些強制轉換。 * * * **推薦教程**: * *C++ 字符串轉換為`int`,反之亦然* * *C++ 字符串轉換為`float`,`double`,反之亦然*
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看