C 程式設計小知識(4)陣列的替代品

2021-10-07 21:36:49 字數 855 閱讀 1378

模板類vector類似於string類,也是一種動態陣列。

可以在執行階段設定vector物件的長度,可以在末尾附加新資料,還可以在中間插入新資料。

要使用vector物件,必須包含標頭檔案vector,vector包含在命名空間std中。

如下示例:

#include..

.using

namespace std;

vector<

int> vi;

//vi是乙個有0個 int 元素的 vector物件

int n ;

cin>> n;

vector<

double

>

vd(n)

;//vd是有n 個double元素的 vector物件

vector 類的功能比陣列強大,但代價是效率稍低。

如果需要的是長度固定的陣列,使用陣列是最佳的選擇,但代價是不那麼方便和安全。

因此,c++11新增了模板類array,array物件的長度也是固定的,也使用棧(靜態記憶體分配)而不是自由儲存區,因此效率與陣列相同,但更加安全方便。

例項如下:

#include..

.using

namespace std;

array<

int,

5> ai;

//建立有5個int元素的ai 陣列

array<

double,4

> ad=

;

與建立vector 物件不同的是,如上所示,以上元素數(4,5)必須是常量

== 可以將乙個array物件賦值給另外乙個array物件==

陣列的替代品

模板類vector和array是陣列的替代品。vector是一種動態陣列,使用堆分配記憶體,可以增 刪 改 查,缺點是效率低。include.using namespace std std vectortemp int n cin n std vectortemp1 n 建立n個原始的陣列vecto...

陣列的替代品

1 include 標準輸出流 2 include 迭代器物件 3 include 排序演算法標頭檔案 4 using namespace std 5void aa 8 向陣列末尾新增一條資料 9 vecdouble.push back 100.8 10 vector iterator it 得到迭...

陣列的替代品

1.模板類vector vectorarray1 n elem 宣告建立乙個名為array1的vector物件,它可儲存n elem個型別為typename的元素 n elem可以是整形常量 變數 1 vector array1 4 2 array 0 0.0 3 array 1 1.0 4 arr...