陣列與容器

2021-06-11 17:40:13 字數 1106 閱讀 7365

通過下面的一道題,來分析陣列與容器的一些不同之處

題:編寫必要的**將乙個陣列賦給另乙個陣列,然後把這段**改用 vector 實現。考慮如何將乙個 vector 賦給另乙個 vector。

解答:一、陣列

#include using namespace std;

int main()

; int b[array_size];

for(size_t ix=0;ix != array_size;++ix)

b[ix] = a[ix];

for(size_t ix=0;ix != array_size;++ix)

cout<

二、容器

#include #include using namespace std;

int main()

{ vectorivec1(10,20);//容器初始化的方式之一,將每個元素初始化為20

vectorivec2;

for(vector::iterator iter = ivec1.begin();iter !=ivec1.end();++iter)

ivec2.push_back(*iter);

cout<<"輸出ivec2中的值:"<::iterator iter = ivec2.begin();iter !=ivec2.end();++iter)

cout<<*iter<

1、陣列與vector,初始化方式不同

2、陣列的長度固定,且不提供size操作,也不提供push_back操作,如果需要更改陣列的長度,程式設計師只能建立乙個更大的新陣列,然後把原陣列的所有元素複製到新陣列空間中去

3、陣列複製的方式與vector的複製方式也不同

4、現代 c++ 程式應盡量使用 vector 和迭代器型別,而避免使用低階的陣列和指標。設計良好的程式只有在強調速度時才在類實現的內部使用陣列和指標

5、陣列是 c++ 語言中類似於標準庫 vector 型別的內建資料結構。與 vector 類似,陣列也是一種儲存單一資料型別物件的容器,其中每個物件都沒有單獨的名字,而是通過它在陣列中的位置對它進行訪問

6、陣列被嚴格限制於程式內部使用,只有當效能測試表明使用 vector 無法達到必要的速度要求時,才使用陣列

陣列與容器

通過下面的一道題,來分析陣列與容器的一些不同之處 題 編寫必要的 將乙個陣列賦給另乙個陣列,然後把這段 改用 vector 實現。考慮如何將乙個 vector 賦給另乙個 vector。解答 一 陣列 include using namespace std int main int b array ...

容器與陣列

關於定義陣列,我們都知道,當我們定義完乙個陣列,該陣列的成員數就已經固定了,即陣列是靜態分配記憶體的,一旦分配完記憶體大小,便不可改變。例如,定義乙個成員數為n的整型陣列 則這個n應該表示的是常量,而不是變數 int nums n 在寫出該語句後,nums陣列的成員數就已經不可變了更形象一些,假設我...

容器與陣列

陣列 array 容器 vector 陣列與容器最大的區別是宣告時陣列的大小固定且保持不變,vector是序列容器,可改變大小的陣列。接下來,分別詳細分析陣列與容器的不同 宣告 array是乙個包裝固定大小陣列的容器,因此宣告時必須確定其大小 arrayarray name 例 arrayn vec...