容器vector和迭代器iterator 使用

2021-05-31 21:59:04 字數 773 閱讀 6550

容器vector宣告方式 vector《型別》:: 變數名(引數)

使用前需要引用#incude

初始化方式有下面幾種

1 宣告初始化例如: vectorvct;預設建構函式為空

vectorvct1(vct) 用已宣告好容器來初始化

vectorvct2(3,5) 大小為3的容器初始化三個都等於5

vectorvct3(5) 大小為3,初始值都為0

2 vector是順序容器,可以通過下標操作符讀取,但是前提必須是容器內已存在這個下標的元素,不然會出錯。

為了方便遍歷容易,每種容器都有自己迭代器

迭代器概念:用來遍歷容器內元素,並且可以訪問元素的值一種型別。

宣告乙個整形容器的迭代器 vector::itrator  itr;

遍歷容器內元素

for(itr=vct.begin();i!=vct.end();itr++)   /*這裡注意 vct.end()是容器內最後乙個元素的下乙個元素,是乙個不存在的元素,如果vector為空則end和begin返回的迭代器相同

cout<<*itr;                                          ///這裡的*是解引用操作符    end不可以使用*和自增減操作符

迭代器還有一種是const_itrator,它的作用只能訪問容器內元素,而不能改變元素

注意:const vector::itrator  並不等於 vector::const_itrator

前者只能訪問固定元素,不可以進行*itr++ 等操作。

序列容器vector和迭代器

一 容器vector vector類模板提供了一種占用連續記憶體位址的資料結構。這使得它可以高效,直接的利用下標運算子訪問vector中的任一元素,當乙個vecto的記憶體空間耗盡時,它會分配乙個更大的連續空間 陣列 把原先的資料複製 或移動 到新的空間 陣列 並把原來的空間 陣列 釋放。其中的 0...

Vector容器與iterator迭代器

首先,回顧一下 的用法 是運算子中等級最高的,它分為三種 1 global scope 全域性作用域符 用法 name 2 class scope 類作用域符 用法 class name 3 namespace scope 命名空間 作用域符 用法 namespace name 他們都是左關聯 le...

C STL STL迭代器和vector

include include include includeusing namespace std stl學習 容器和演算法之間通過迭代器連線 迭代器 遍歷的功能,用指標理解 普通指標,也算一種迭代器。vector容器 用普通方法遍歷 void test01 for i i 5 i 用普通指標遍歷...