C 中vector容器與C風格陣列的訪問效率對比

2021-10-24 16:07:25 字數 514 閱讀 1959

在leetcode演算法題中,我發現了不同型別的vector容器訪問速度有顯著差異,於是進一步想探索vector容器與傳統c風格陣列之間的的訪問速度差異。

我編寫了乙個簡單的測試用例,在vs2017環境下測試,**如下:

#include #include #include using namespace std;

int main()

分別對包含100000個元素的vector和c風格陣列進行100次乘法,結果運算時間分別為:

3289ms和26ms。

因此,結論是,如果單從訪問速度來說,c風格陣列的訪問要比vector陣列快100倍左右。在資料量較大的情況下,這是個非常顯著的差異。這可能是因為vector類的訪問過程比傳統陣列更複雜,也有可能是因為vector陣列開闢的儲存空間不如傳統陣列連續性好。因此,在非常計較效率的情況下,還是應該盡可能使用傳統c風格陣列,但同時應多加注意不要越界訪問。也許,說使用c++自身的stl進行程式設計的工程師是有問題的,就是在說這類問題吧。

c 中的vector容器

在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout 5 使用迭代器訪問元素.vector iterator i...

C 中vector容器的用法

1 標頭檔案 include.2 建立vector物件,vector vec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec.begin it vec.end it cout it 6 插入元素 vec.i...

C 中 vector(容器)的用法

vector 向量 c 中的一種資料結構,確切的說是乙個類.它相當於乙個動態的陣列,當程式設計師無法知道自己需要的陣列的規模多大時,用其來解決問題可以達到最大節約空間的目的.一.用法 1.檔案包含 首先在程式開頭處加上 include以包含所需要的類檔案vector 還有一定要加上using nam...