深入理解ts類型轉換

一、c++類型轉換

  // 精度損失:float -> int
  #include<iostream>
  using namespace std;
  int main()
  {
      float f = 3.5f;
      int i = f; //f自動轉換成int類型
      cout << i << endl; //輸出3, 精度被損失
      return 0;
  }

c++中的隱式類型轉換與js比起來略微有些嚴格。由上述代碼可知,當一個變量的類型被強制轉換時,如果轉換會導致精度損失,則編譯器會發出警告提示。

二、強制類型轉換C語言

  //強制類型轉換1:C語言風格
  #include<iostream>
  using namespace std;
  int main()
  {
      int i = 10;
      float f = (float)i; //C語言風格, 強制類型轉換
      cout << f << endl; //輸出10.0
      return 0;
  }

強制類型轉換C語言的風格與js轉換類型的方式相同。當將一個高精度類型的變量賦值給低精度類型,或者當需要使用一種類型的變量作為另一種類型的參數時,可以使用強制類型轉換來滿足編譯器的檢查。

三、強制類型轉換

  //強制類型轉換2:C++風格
  #include<iostream>
  using namespace std;
  int main()
  {
      int i = 10;
      float f = static_cast<float>(i); //C++風格,強制類型轉換
      cout << f << endl;
      return 0;
  }

C++風格的類型轉換使用關鍵字`static_cast`來轉換類型。由於代碼中使用了強制類型轉換,所以編譯器不再發出警告。

四、c強制類型轉換舉例

  #include<iostream>
  using namespace std;
  int main()
  {
      int i = 97;
      char c = (char)i; //強制類型轉換為char
      cout << c << endl;  //輸出a
      return 0;
  }

c強制類型轉換也是一種強制類型轉換的方式,可以將一個變量轉換為另一個具有不同數據類型的變量。

五、c語言類型轉換

  #include<iostream>
  using namespace std;
  int main()
  {
      int i = 100;
      float f = (float)i; //強制類型轉換, c語言風格
      cout << f << endl; //輸出100.0
      return 0;
  }

c語言中的類型轉換也可以使用強制類型轉換的方式來實現。將一個變量轉換為另一個不同類型的變量時,必須使用括號將變量名括起來,並在括號之前加上新要轉換的類型的標識符。

六、隱式類型轉換

  #include<iostream>
  using namespace std;
  int main()
  {
      float f = 3.5f;
      int i = f; //隱式類型轉換
      cout << i << endl; //輸出3
      return 0;
  }

在ts類型轉換中,隱式類型轉換是一種自動完成的類型轉換方式。當ts需要一種類型的變量作為另一種類型的參數時,ts會自動將兩種不同類型的變量之間進行隱式類型轉換。從上述代碼可以看到,當將一個float類型的變量賦值給int類型的變量時,會發生隱式類型轉換,但是會導致精度上的損失。

七、轉換類型class

  class Animal
  {
      public:
          virtual void run();
  };
  class Dog : public Animal
  {
      public:
         void run()
         {
             cout << "小狗在跑!" << endl;
         }
         void eat()
         {
             cout << "小狗在啃骨頭!" <(animal1);
      dog1->run(); //輸出:小狗在跑!
      dog1->eat(); //非法,無法訪問
      return 0;
  }

在ts類型轉換中,有時需要將一個派生類的指針轉換為一個基類的指針,或將一個基類的指針轉換為一個派生類的指針,轉換類型class便可滿足這一需求。

八、自動類型轉換

  #include<iostream>
  using namespace std;
  
  int main()
  {
      int i = 10;
      double d = i; //自動類型轉換
      cout << d << endl; //輸出10
      return 0;
  }

自動類型轉換是一種非常常見的類型轉換方式,編譯器會自動將其中一種類型的變量轉換為另一種類型的變量,以便匹配相應的數據類型。在上述代碼中,將一個int類型的變量賦值給double類型的變量,編譯器會進行自動類型轉換。

九、nat轉換類型

  #include<iostream>
  using namespace std;
  
  int main()
  {
      int i = 10;
      int* p = &i;
      double* pd = static_cast<double*>(static_cast<void*>(p));
      *pd = 3.5;
      cout << i << endl;  //輸出1745489024
      cout << *pd << endl;  //輸出3.5
      return 0;
  }

nat轉換類型是將一個指針類型轉換為另一種類型指針類型的過程。有時會需要將一個非常量指針類型轉換為另一種非常量指針類型,例如將int指針類型轉換為double指針類型。這種情況下,可以使用nat轉換類型來滿足這一需求。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/254900.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:13
下一篇 2024-12-15 12:13

相關推薦

  • int類型變量的細節與注意事項

    本文將從 int 類型變量的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變量進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變量。 一、定義與聲明 int…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • Python中的Bool類型判斷

    本篇文章旨在講解Python中的Bool類型判斷。在Python中,Bool類型是經常使用的一種類型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    編程 2025-04-29
  • Vue TS工程結構用法介紹

    在本篇文章中,我們將從多個方面對Vue TS工程結構進行詳細的闡述,涵蓋文件結構、路由配置、組件間通訊、狀態管理等內容,並給出對應的代碼示例。 一、文件結構 一個好的文件結構可以極…

    編程 2025-04-29
  • Python函數類型有哪些

    本文將從以下幾個方面詳細闡述Python函數類型。 一、內置函數 Python的內置函數是指在Python編程語言中提供的可以直接使用的函數,不需要通過導入模塊等方式引入。 部分常…

    編程 2025-04-29
  • Python變量類型用法介紹

    Python是一種解釋型編程語言,它提供了豐富的數據類型,包括數字、字符串、列表、元組、集合、字典等。Python變量類型的定義是Python程序開發的基礎,本文將從以下幾個方面對…

    編程 2025-04-28
  • Python中的整數類型int類總覽

    本文將從多個方面,對Python中的整數類型int類進行全面介紹和闡述。 一、數據類型及基本操作 在Python中,整數類型的數據類型為int。在Python3.x中,整數類型的范…

    編程 2025-04-28
  • Python查詢變量類型的函數

    本文將從多個方面詳細闡述Python中查詢變量類型的函數,主要包括以下幾點: 一、type()函數 type()函數是Python內置的函數,用於查詢變量的類型。它的使用非常簡單,…

    編程 2025-04-28
  • Python語言列表中的元素類型可以不相同

    Python語言的列表是一種有序的集合,可以包含任意數量和任意類型的Python對象,包括數字、字符串甚至是其他列表對象,這樣的特性稱為Python語言列表中的元素類型可以不相同。…

    編程 2025-04-28

發表回復

登錄後才能評論