vector 使用 上

成長等於抉擇發表於2020-12-23

C++常用容器之 — vector 上

常用物件構造和賦值

一、物件的構造
1、預設構造
2、帶參構造
二、賦值
1、改變vector中的元素個數和值
2、使用迭代器重新賦值
3、使用指標賦值
4、賦值運算子過載


程式碼說明:

#include<vector>
#include<windows.h>
#include<iostream>

using namespace std;

int main11(void) {

	string line(50, '=');
	//使用預設建構函式初始化
	vector<int>tmp;
	//使用過載建構函式定義4個int型別的陣列,並初始化化為55
	vector<int>M(4, 55);
	//使用陣列方式進行賦值
	
	for (int i = 0; i < 10; i++) {
		tmp.push_back(i);
	}
	//使用迭代器列印
	vector<int>::iterator cit = tmp.begin();
	for (; cit != tmp.end(); cit++) {
		cout << *cit << "\t";
	}
	cout << endl;
	cout << line << endl;
	int s[] = { 1,2,3,4,5,6 };
	M.assign(tmp.begin(), tmp.end());//使用迭代器重新賦值
	tmp.assign(11, 888); //改變vector中的元素個數和值
	vector<int>::iterator it = M.begin(); //使用迭代器訪問
	for (; it != M.end(); it++) {
		cout << *it << "\t";
	}
	cout << endl;
	cout <<line<<endl;
	//使用陣列下標方式訪問
	for (int i = 0; i < 11; i++) {
		cout << tmp[i] << "\t";

	}
	cout << endl;
	cout << line << endl;

	tmp.assign(s, s + 3);
	for (int i = 0; i < 3; i++) {
		cout << tmp[i] << "\t";

	}
	cout << endl;
	cout << line << endl;
	M = tmp;//賦值運算子過載
	vector<int>::iterator eit = M.begin(); //使用迭代器訪問
	for (; eit != M.end(); eit++) {
		cout << *eit << "\t";
	}
	cout << endl;
	cout << line << endl;
	M.resize(10);
	for (vector<int>::iterator it = M.begin(); it != M.end();it++) {
		cout << *it << "\t";
	}
	cout << endl;
	cout << line << endl;
	M.resize(12,44);
	for (vector<int>::iterator it = M.begin(); it != M.end(); it++) {
		cout << *it << "\t";
	}
	cout << endl;
	cout << line << endl;
	system("pause");
	return 0;
}

相關文章