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...