C 拾遺 name cast 顯式型別轉換

2021-06-28 18:47:56 字數 993 閱讀 6141

c++拾遺--name_cast 顯式型別轉換

c++中提供了四種顯式的型別轉換方法:static_cast,const_cast,reinterpret_cast,dynamic_cast.下面分別看下它們的使用場景。

這是最常用的,一般都能使用,除了不能轉換掉底層const屬性。

#include using namespace std;

int main()

執行

對於變數的const屬性分為兩種:頂層的、底層的。對於非指標變數而言兩者的意思一樣。對於指標型別則不同。 如

int *const p;    p的指向不可改變,這是頂層的;

const int *p;    p指向的內容不可改變,這是底層的。

用法單一,只用於指標型別,且用於把指標型別的底層const屬性轉換掉。

#include using namespace std;

int main()

執行

若是把const int d = 10;改為 int d = 10; 則執行結果有變化:*pd = 11; d = 11;

這個用於對底層的位模式進行重新解釋。

下面這個例子可用來測試系統的大小端。

#include using namespace std;

int main()

cin.get();

return 0;

}

執行

從執行結果看,我的筆記本是小端的。

這個用於執行時型別識別。

本專欄目錄

所有內容的目錄

c 拾遺 復合型別

1 cout拼接字串常量 任何兩個由空白分隔的字串常量都將自動拼接成乙個 cout hello world hello world n cout hello world n 2 sizeof和strlen區別 3 cin與cin.get 及cin.getline cin使用空白 空格,製表符,換行符...

C語言拾遺

main函式引數 c語言規定main函式引數只能有兩個,習慣上這兩個引數寫成argc和argv。c語言還規定argc必須是整形變數,argv必須是指向字串的指標陣列。因此,main函式的函式頭應該寫為 main argc,argv int argc char argv 或者 main int arg...

C 點滴拾遺

1.成員變數的初始化順序,與建構函式中初始化列表的順序無關,與成員變數申明的順序一致 多繼承中,基類的構造順序,與派生類的建構函式初始化列表中基類的構造順序無關,與定義派生類時基類的申明順序有關 2.友元關係不能繼承。3.指標和typedef typedef int pint int i 1 con...