用数组初始化vector

可以使用下面的代码初始化 vector. vector 构造函数会把 [int_array, int_array + 4) 的内容逐个拷贝到 vector 的node 中。

 

1. 注意 int_array + 4 指向的内容是不被拷贝构造的, last 指针处是开区间。

2. vector 中存放的是自己的拷贝,他的内容改变了之后,数组的内容还是不受影响的。

 

Code:

[cpp]  view plain copy
  1. // Vector_Learning.cpp : 定义控制台应用程序的入口点。  
  2. //  
  3.   
  4. #include "stdafx.h"  
  5. #include <vector>  
  6. #include <iostream>  
  7.   
  8. using namespace std;  
  9.   
  10. int _tmain(int argc, _TCHAR* argv[])  
  11. {  
  12.     int int_array[] = {1, 2, 3, 4};  
  13.     for(int i = 0; i < 4; i++) {  
  14.         cout << int_array[i];  
  15.     }  
  16.     cout << endl;  
  17.           
  18.     std::vector<int> vec_int(int_array, int_array+4);  
  19.     for(vector<int>::iterator ite_vec_int = vec_int.begin();   
  20.         ite_vec_int != vec_int.end();  
  21.         ite_vec_int++){  
  22.             cout << *ite_vec_int;  
  23.             (*ite_vec_int)++;  
  24.     }  
  25.     cout << endl;  
  26.   
  27.     for(vector<int>::iterator ite_vec_int = vec_int.begin();   
  28.         ite_vec_int != vec_int.end();  
  29.         ite_vec_int++){  
  30.             cout << *ite_vec_int;  
  31.     }     
  32.     cout << endl;  
  33.   
  34.     for(int i = 0; i < 4; i++) {  
  35.         cout << int_array[i];  
  36.     }  
  37.   
  38.     return 0;  
  39. }  

 

Output:

[cpp]  view plain copy
  1. 1234  
  2. 1234  
  3. 2345  
  4. 1234请按任意键继续. . .  

你可能感兴趣的:(用数组初始化vector)