當前位置:才華齋>範例>職場>

it常見面試問題

職場 閱讀(2.99W)

001:static的定義和用法

it常見面試問題

a:static的定義:它是c++中很常見的修飾符、它被用來控制變數的儲存方式和可見性。static被引入以告知編譯器,將變數儲存在靜態儲存區而不是棧上空間,static它會把變數的可見範圍限制在編譯單元中,使它成為一個內部連結,它的反義詞為extern。

b:static的用法:靜態成員是靜態儲存的,必須對其進行初始化。在類中定義靜態成員可以實現多個物件之間的資料共享。在函式體內定義靜態變數,此變數只能在這個函式內使用。在函式體外,模組內定義靜態變數,此變數只能在模組體內被使用。

002:const的定義和用法

a:const的定義:const常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值是不能被更新的。因此,定義或說明常型別時必須進行初始化。

b:const的用法:在 c程式中,const的用法主要有定義常量、修飾函式引數、修飾函式返回值等3個用處。在c++程式中,它還可以修飾函式的定義體,定義類中某個成員為常態函式,即不改變類中的資料成員。被const修改的東西都要受到強制保護,可以預防意外的變動,能提高程式的健壯性。

003:inline的定義和用法

a:inline的定義:是指嵌入程式碼,就是在呼叫函式的地方不是跳轉,而是把程式碼直接寫到那裡去。c++中引入它的主要原因是用它替代c中表達式形式的巨集定義。

b:inline的用法:一般用於兩種情況1)一個函式不斷被重複呼叫2)函式只有簡單的幾行,且函式內不包含for、while、switch。關鍵字inline必須與函式定義體放在一起才能使用函式成為內聯,僅將inline放在函式宣告前面不起任何作用。

004:請簡述深拷貝和淺拷貝的定義:

如果一個類擁有資源,當這個類的物件發生複製過程的時候,資源重新分配,這個過程就是深拷貝,反之,沒有重新分配資源,就是淺拷貝。

005:如果程式在執行中因記憶體錯誤而崩潰,有哪幾種可能的原因:

a:記憶體洩漏b:記憶體越界訪問c:野指標 d:訪問空指標 e:引用未初始化的變數 f:不清楚的指標運算 g:結構圖成員順序發生變化 h:結構體大小變化

i:分配釋放不配對 j:返回指向臨時變數的指標 k:試圖修改常量 l:誤解傳值和傳引用 m:重名符合 n:棧溢位 o:位元組順序 p:多執行緒共享變數沒有用valotile修飾

006:面向物件和麵向過程的定義:

a:面向物件:軟體開發的方法,是一種對現實世界理解和抽象的方法,是計算機程式設計發展到一定階段的產物。面向物件=物件+類+繼承+通訊,如果一個系統使用這個4個概念設計和實現,則我們稱該系統為面向物件。

b:面向過程:是一種以過程為中心的程式設計思想,這些都是以什麼正在發生為目標進行程式設計,不用於面向物件是誰在受影響。

c:面向物件的作用:維護簡單、可擴充性、程式碼重用

007:面向物件的三大特性:封裝性、繼承性、多型性

a:封裝性:

b:繼承性

c:多型性:簡單的說就是“一個介面,多種方法”,即允許將子類型別的指標賦值給父類型別的指標。多型性一般都是通過虛擬函式、抽象類、覆蓋、模板來實現。

008:用遞迴演算法判斷陣列a[n]是否為一個遞增陣列

bool charge(int p[],int n) { if(n==1) return true; else { if(p[n-1]>p[n-2]) { return charge(p,n-1); } else return false; } }

009:區域網一般由三部分組成:網路伺服器、工作站、通訊裝置

010:ip地址一般由:網路號和主機地址

011:引用的定義和作為函式引數傳遞的作用:

a:引用就是一個變數的別名,對引用的操作和對變數操作完全一樣。

b:引用作為函式引數傳遞,能夠保證引數傳遞過程中不產生副本,提供傳遞效率,且通過const的使用,保證傳遞的安全性

012:函式strcmp和函式strcpy的區別:

int strcmp(char* src,char* dst) :比較兩個字串是否相等,當src==dst返回0,當src<dst返回負數,當src>dst返回正數

《it常見面試問題》全文內容當前網頁未完全顯示,剩餘內容請訪問下一頁檢視。