可以使用下面的代码初始化 vector. vector 构造函数会把 [int_array, int_array + 4) 的内容逐个拷贝到 vector 的node 中。
1. 注意 int_array + 4 指向的内容是不被拷贝构造的, last 指针处是开区间。
2. vector 中存放的是自己的拷贝,他的内容改变了之后,数组的内容还是不受影响的。
Code:
- // Vector_Learning.cpp : 定义控制台应用程序的入口点。
- //
- #include "stdafx.h"
- #include <vector>
- #include <iostream>
- using namespace std;
- int _tmain(int argc, _TCHAR* argv[])
- {
- int int_array[] = {1, 2, 3, 4};
- for(int i = 0; i < 4; i++) {
- cout << int_array[i];
- }
- cout << endl;
- std::vector<int> vec_int(int_array, int_array+4);
- for(vector<int>::iterator ite_vec_int = vec_int.begin();
- ite_vec_int != vec_int.end();
- ite_vec_int++){
- cout << *ite_vec_int;
- (*ite_vec_int)++;
- }
- cout << endl;
- for(vector<int>::iterator ite_vec_int = vec_int.begin();
- ite_vec_int != vec_int.end();
- ite_vec_int++){
- cout << *ite_vec_int;
- }
- cout << endl;
- for(int i = 0; i < 4; i++) {
- cout << int_array[i];
- }
- return 0;
- }
Output:
- 1234
- 1234
- 2345
- 1234请按任意键继续. . .