c語言的強制型別轉換的功能更通用,即它具有static_cast, const_cast和reinterpret_cast相似的行為。
但是,然而,c語言的強制型別轉換沒有細分的這麼明顯,它擁有了這三者的功能。
見**:
int a = 0;
int *pa = &a;
const int *cpa = &a;
//static_cast(cpa); // invalid static_cast from type 『const int*』 to type 『int*』
//static_cast(pa); // invalid static_cast from type 『int*』 to type 『char*』
const_cast(cpa); // ok
reinterpret_cast(pa);// ok
(int*)cpa; // ok
(char*)pa; // ok
return 0;
C 顯式強制型別轉換
double x 3.14 int y int x c 強制型別轉換 const cast,static cast dynamic cast reinterpret cast 去掉常量的底層const屬性 底層const 指標指向的內容不能變化,物件的內容不能改變 1.常量指標被轉化為非常量的指標,...
C 顯式型別轉換
對於型別轉換,我在查資料的時候看到了一種很有意思的解釋,我們可以這樣理解型別轉換 某塊記憶體中的資料是不變的,而型別就是我們戴上的眼鏡,當我們戴上一種眼鏡後,我們就會用對應的型別來解釋記憶體中的資料,這樣不同的解釋就得到了不同的資訊。所謂強制型別轉換實際上就是換上另一副眼鏡後再來看同樣的那塊記憶體資...
c 顯式型別轉換
乙個命名的強制型別轉換具有以下形式 cast name expression 其中,type是轉換的目標型別,而expression是要轉換的值。如果type是引用型別,則結果是左值。cast name是static cast dynamic cast const cast reinterpret ...