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;
}