模板類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...