溫馨提示×

c++類型轉換的方法有哪些

c++
小億
100
2024-04-23 17:25:48
欄目: 編程語言

在C++中,類型轉換主要有以下幾種方法:

  1. 靜態轉換:使用static_cast關鍵字進行類型轉換,適用于基本數據類型之間的轉換,以及具有繼承關系的類之間的轉換。
int a = 10;
double b = static_cast<double>(a);
  1. 動態轉換:使用dynamic_cast關鍵字進行類型轉換,用于類之間的多態類型轉換,只能用于具有虛函數的類。
class Base {
public:
    virtual void func() {}
};
class Derived : public Base {};

Base* basePtr = new Derived;
Derived* derivedPtr = dynamic_cast<Derived*>(basePtr);
  1. 重新解釋轉換:使用reinterpret_cast關鍵字進行類型轉換,不進行類型檢查,直接將一個指針或引用轉換為另一種類型。
int* ptr = new int(10);
char* charPtr = reinterpret_cast<char*>(ptr);
  1. const轉換:使用const_cast關鍵字進行類型轉換,用于去除const屬性,只能用于指針或引用。
const int a = 10;
int& b = const_cast<int&>(a);
  1. 舊式的C風格轉換:使用C語言的風格進行類型轉換,不建議使用,因為不安全。
int a = 10;
double b = (double)a;

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女