1. 程式人生 > >C++學習vector與陣列優缺點

C++學習vector與陣列優缺點

陣列是C++中內建的一種低階的複合型別,可以儲存某種型別的一組物件。

不提倡在C++中使用陣列,因為它有很多缺點:

1.一經建立,陣列長度固定,不能改變,如果想更改陣列長度,只能建立一個更大的新陣列,

    然後把原陣列的所有元素複製到新陣列的儲存空間中去。

2.一經建立,就不允許新增新的元素。

3.陣列不提供獲取其容量大小size操作。

4.陣列不提供自動新增元素push_back操作。

5.與使用vector型別的程式相比,使用內建陣列的程式更容易出錯,且難以除錯。

6.不允許陣列直接複製和賦值

設定陣列的長度size必須是const整型常量

     正確:   const size_t array_size = 10;

        int ia[array_size];

錯誤: int array_size =10;

            int ia[array_size];

現在還有很多人使用陣列的原因是為了相容以前的程式碼,屬於歷史原因;還有一點是因為使用陣列速度比vector快,但是如果不是對速度要求特別高,不建議使用陣列。