C 面試基礎知識整理(8)

2021-10-18 09:41:40 字數 1220 閱讀 5174

元件描述

容器(containers)

容器是用來管理某一類物件的集合。c++ 提供了各種不同型別的容器,比如 deque、list、vector、map 等。

演算法(algorithms)

演算法作用於容器。它們提供了執行各種操作的方式,包括對容器內容執行初始化、排序、搜尋和轉換等操作。

迭代器(iterators)

迭代器用於遍歷物件集合的元素。這些集合可能是容器,也可能是容器的子集。

// 改變陣列容量的大小

void

resize

(int newcapacity)

// 向陣列中新增乙個元素

void

push_bakc

(t e)

// 從陣列中刪除乙個元素

t pop_back()

隨機訪問

插入和刪除

適用場景

int

main()

vector<

int>

::iterator iter = vec.

begin()

;// 插入元素時,迭代器失效

vec.

push_back(0

);cout <<

&vec[0]

<< endl;

// 陣列擴容後,首位址已經改變

//cout << *iter << endl;

// 刪除元素時迭代器失效

for(iter = vec.

begin()

; iter != vec.

end();

) cout <<

*iter << endl;

iter++;}

return0;

}

缺點:

unordered_map,其底層是乙個雜湊表

缺點如下:

作用使用

int

test_allocator_1()

// 記憶體釋放

alloc.

deallocate

(p, n)

;return0;

}

C 面試基礎知識整理(1)

檔案重定義 條件編譯 github c 面試基礎知識總結 預處理,根據檔案中的預處理指令來修改原始檔的內容。如 include指令,作用是把頭檔案的內容新增到.cpp檔案中,產生.ii檔案,編譯,將其翻譯成等價的中間 或彙編 產生彙編檔案 s檔案 彙編,把組合語言翻譯成目標機器指令,產生目標檔案 o...

C 基礎知識整理 基礎知識(8) 介面

前面接觸了抽象類,它的特點是子類必須實現abstract修飾的方法。以及還有virtual修飾的方法,virtual修飾的方法子類可以重寫也可以不重寫而直接使用。但是由於c 也是單繼承的,所以定義乙個父類,然後繼承來擴充套件一些類的時候,會遇到不合適的情況。因為我們程式設計師是用程式語言來描述世界的...

C語言基礎知識整理8陣列

一批具有同名的同屬性的資料就組成乙個陣列 array 陣列右下角的數字稱為下標。陣列是一組有序資料的集合,下標代表資料在陣列中的序號 用乙個陣列名 如s 和下標來唯一地確定陣列中地元素 陣列中地每乙個元素都屬於同乙個資料型別。c語言規定用方括號中的數字來表示下標。陣列名作實參,傳遞的是陣列首位址,實...