基礎知識1

2021-06-11 07:19:58 字數 1589 閱讀 8417

1 static 在c、c++中的作用

對變數: a 靜態區域,初始化為0; b 在程式剛開始執行時就完成出初始化,也是唯一一次初始化。控制變數的可見範圍。保持變數內容持久。

對變數、函式(主要):這是與全域性變數的差別,「隱藏」,不同檔案中,使用相同函式名,不會發生衝突;例如,a檔案中函式名加了static,則b檔案看不到。

2 sizeof strlen區別

舉例說明:

sizeof(「hello」)=6;strlen(「hello」)=5;

char*ss=「0123456789」;

sizeof(ss)=4;//單位指標長度

sizeof(*ss)=1;//首字元0的長度

strlen(ss)=10;

char str[20]=「0123456789」;

sizeof(str)=20;//整個陣列的大小

strlen(str)=10;//字串長度

3 指標 引用

a 指標:編譯器為其分配乙個4位元組(32位機器)的記憶體

引用:不佔任何記憶體,與繫結物件共享記憶體空間

b 指標:初始化以後可以改變指向物件,間接訪問

引用:定義時必須初始化,使用後不能再改變

c 如果pa是指標,*pa是引用

d指標有const,引用沒有const

e指標可以為空,引用不可為空

f  sizeof(指標)是4,sizeof(引用)是變數大小

g 自增時意義不同

h 指標不安全,引用安全。

4  虛函式

基類的指標,指向不同派生類的物件時。基類呼叫其虛成員函式,真正指向物件的成員函式。是多型的基礎。是覆蓋。

例如,b0 p; p=&b1; p+&b2; 如果不是虛函式,執行結果是b0,b0,b0;有虛函式,執行結果是b0,b1,b2。

5 棧,堆

棧區:編譯器分配釋放,引數值,區域性變數值。類似資料結構中的棧。

堆區:程式設計師自己管理分配釋放。類似資料結構中的鍊錶。

6 new與mallco區別

mallco是函式 void 型,

new是操作符,返回new的型別,執行構造析構函式。

7 內聯函式

首先內聯函式必須精簡。不能用迴圈or開關語句。定義必須在第一次呼叫之前。

定義在函式體內的函式。可以像巨集一樣展開,不用壓棧。解決了程式中函式呼叫的效率問題。

巨集在++i時會產生二義性。內聯函式不會。

巨集是在預處理器中,內聯函式是在編譯器中。

8 過載

c++中多型的一種表現形式。函式名相同,但引數不同。

c++中多型:虛函式,模板,過載,轉換。

9 #include <> ""區別

〈〉是在編譯器類庫路徑下查詢。「」是在自己程式目錄下查詢

10 友元

友元不是成員函式。但是它可以訪問類中的私有成員。作用:可以提高程式的執行效率。缺點:破壞了封裝性和隱藏性。

11 類/結構 區別

類:堆上分配,有構造+析構函式,可繼承、被繼承。

結構:棧上分配,速度快,但資源有限。

12 類/結構 訪問權

類中的成員變數是私有

結構中的成員變數是公有,可被任何函式使用。

基礎知識1

puts hello world if false class person count 0 def initialize name age 18 name name age age motherland china enddef talk print name name n puts age ag...

1 基礎知識

osi各層所使用的協議 應用層 telnet ftp http dns smtp pop3 傳輸層 tcp udp tcp 面向連線的可靠的傳輸協議。udp 是無連線的,不可靠的傳輸協議。網路層 ip icmp igmp 埠埠使用乙個16位的數字來表示,它的範圍是0 65535,1024以下的埠號保...

1 基礎知識

協議,如果換成c語言來描述,那就是乙個struct結構體,有很多函式可以對結構體 協議 進行解讀 底層的協議,可以為其上層協議服務,是指底層的結構體中的資料域,就是上層的某個結構體 協議 的物件 資料鏈路層上傳輸是2型乙太網幀,你可以把幀理解為乙個struct frame結構體 struct fra...