C 面試問題整理

2021-10-24 09:14:01 字數 1238 閱讀 7183

靜態庫與動態庫的區別:

總結:綜上,不能看出:

原部落格:

c語言**如何編譯:

預處理:預處理過程實質上是處理「#」,將#include包含的標頭檔案直接拷貝到hell.c當中;將#define定義的巨集進行替換,同時將**中沒用的注釋部分刪除等

const在不同的位置對指標的影響

const如果在*a前,那麼修飾的就是*a,如果*在const前,那麼修飾的就是a。如果有兩個const,乙個在*之前,乙個在*之後,那麼*和a都被修飾。const修飾誰,誰就沒法改變。

const在*a前:這個指標是可變的,也就是我們可以通過給a賦上不同的位址來改變a指向的記憶體,也可以用a得到記憶體中的變數的值。但a指向的內容不能改變,即無法修改*a,也就是指向的變數不能通過*a間接修改。

int p=1;

const int*a;

a= &p;

cout可以通過*a進行修改,但a儲存的位址不能被修改,它一經過初始化後就「繫結」在了初始化的位址對應的記憶體上。也就是指標本身儲存的位址變成了乙個常量,不能給a賦值來修改指標的指向,*a也就永遠代表最初指向的那個變數的值。(指標本身的指向不可變,但是指向的值可以被修改)

指標與引用的區別

本質區別與性質區別:

指標與引用作為函式引數傳遞時的區別:

new與malloc的區別

stl迭代刪除元素

mapm;

for(map::iterator iter=m.begin();iter!=m.end();)

else

}

c++多型是什麼多型是物件導向程式設計的又一重要特性,它指同樣的訊息被不同型別的物件接受時導致不同行為的現象,不同的行為指函式執行的內容。

多型又分為靜態多型與動態多型,靜態多型在編譯時系統便能確定要呼叫哪個函式,主要通過函式過載實現

動態多型是指程式在編譯時並不能確定要呼叫的函式,直到執行時系統才能動態地確定操作所針對地具體物件,它又被稱作執行時多型。動態多型是通過虛函式實現的。對於同一訊息,在執行時對不同地物件產生不同的響應方式。

面試問題整理

所謂事務,就是提供一種機制,將乙個活動涉及的所有操作納入到乙個不可分割的執行單元,只要其中任何乙個操作執行失敗,都將導致整個事務的回滾。簡單的說,就是一種 要不什麼都不做,要麼做全套 機制。資料庫本地事務 acid原則 a atomicity 原子性 c consistency 一致性 i isol...

面試問題整理

c 中 deque的實現 可以在兩端高效插入 刪除資料,支援隨機訪問 內部實現原理 利用分段陣列,將元素存放在乙個個大小固定的陣列中,再有乙個索引陣列存放這些陣列的首位址。頭部插入資料時,移動頭部首位址索引即可,從後往前移動,如果當前資料段滿了,則將資料儲存在新建立的分段陣列中,並將其首位址加入到索...

面試問題整理

最近面試,遇到了不少題目,為今後的再面試做準備,特收集記錄於此 一 關於管理方面的 1 如何構建比較完整的測試體系框架,可以從哪些方面入手?思路 測試技術體系建設 測試管理支撐 主要從團隊組織 環境建設 標準制定 人員培養 配置管理 工作流程 a 軟體測試管理體系建設可以從測試的總體規程 需求跟蹤管...