C 標準庫Vector Iterator用法

2021-07-08 10:51:30 字數 2963 閱讀 6744

//程式1

#include

#include

//using namespace std;

using std::cin;

using std::cout;

using std::endl;

using std::vector;

using std::string;

//vector's demo class

class vectordemo

vectordemo(int temp)

void vectoressentialuse(void);

void iteratoressentialuse(void); };

void vectordemo::vectoressentialuse()

for(i = 0; i < 3; i++)

cout << "ivec_length = " << ivec.size() << endl;

ivec.clear();

cout << "ivec_length = " << ivec.size() << endl;

cout << "svec_length = " << svec.size() << endl;

for(i = 0; i < 3; i++)

cout << "svec_length = " << svec.size() << endl;

for(i = 0; i < 3; i++)

vectoriv1(10);

vectoriv2(10,100);

vectoriv3(iv2);

for(i = 0; i < 10; i++)

return; }

void vectordemo::iteratoressentialuse()

for(vector::size_type i = 0; i != ivec.size(); i++)//essential loop

for(vector::iterator iter = ivec.begin(); iter != ivec.end(); iter++)//iterator loop

return; }

int main(int argc, char *argv)

//程式2

#include

#include

using std::cout;

using std::endl;

using std::cin;

using std::cerr;

using std::string;

using std::vector;

int main(int argc, char *argv)

cout << endl;

it = myvector.begin();

it = myvector.insert(it, 200);

for(it = myvector.begin(); it != myvector.end(); it++)

cout << endl;

myvector.insert(it, 2, 300);

for(it = myvector.begin(); it != myvector.end(); it++)

// "it" no longer valid, get a new one:

it = myvector.begin();

vectoranothervector(2, 400);

myvector.insert(it + 2, anothervector.begin(), anothervector.end());

int myarray = ;

myvector.insert(myvector.begin(), myarray, myarray + 3);

cout << "myvector contains:";

for (it = myvector.begin(); it < myvector.end(); it++)

cout << " " << *it;

cout << endl;

return 0; }

小結:1.#include 並且 using std::vector;

2.所有的標準庫容器類都定義了相應的iterator型別

3.定義乙個vector

vector vect;

vector vect1(12);//12個int型別元素,每個元素的初始值均為0

vector vect2(12,9);//12個int,初試值均為9

4.定義迭代器iterator

vector ::iterator iter=vt.begin();//起始位址

vector ::iterator iter_end=vt.end();//結束位址,兩個位址都是指標型別

5.vector的一些基本方法(size(),insert(),push_back(),pop_back(),begin(),end())

6.const_iterator,只能用於讀取容器內元素值,不能用於改變容器內元素值

7.迭代器基本操作:iter++,++iter,iter- -,--iter,iter+n,iter,-n,iter1-iter2

8.vector物件可用陣列進行初始化

const size_t arr_size = 6;

int int_arr[arr_size] = ;

//ivec has 6 elements:each a copy of the corresponding element in int_arr

vectorivec(int_arr,int_arr + arr_size); or

vectorivec(int_arr + 1, int_arr +4);//copy 3 elements:int_arr[1],int_arr[2],int_arr[3]

C 標準庫和C 標準模版庫

c 標準庫很大,在現在的情況下,c 標準庫確實越來越好,因為大的庫會包含大量的功能.標準庫中的功能越多,開發自己的應用程式時能借助的功能就越多,c 庫並非提供一切 很明顯的是沒有提供開發和圖形使用者介面的支援 但確實提供了很多.標準c 庫中主要有以下主要元件 標準c庫.i 0流技術.string.容...

c標準庫 signal 庫

c標準庫 signal 庫 的基本用法 雜談 最近在看 c標準庫 對於裡面的函式的用法和演算法有了乙個基本的理解。有一些庫很少用到,例如 庫,庫。每每看到 這些章節,我都潛意識的 認為 這些章節 不學也行,無所謂,所以看起書來 自然 比較浮躁。今天特意來網上 檢視資料來 學習 這兩個庫的用法。浮躁 ...

C 命名空間,標準庫,標準模板庫

全域性空間與命名空間 我們在使用c 時,匯入標頭檔案一般有兩種形式,帶 h 和不帶 h 一般來說,不帶 h 的是c 的標準標頭檔案,帶的是c語言的,h 裡面定義的所有類以及物件都是在全域性空間裡,不帶的是在命名空間std裡面。c 要相容c的標準庫,而c的標準庫里碰巧也已經有乙個名字叫做 string...