用vector容器代替數組 ——使用數組初始化vector對象


在C++中,我們不能用數組直接初始化另一數組,而只能創建新的數組,然后顯式的把原數組的元素逐個復制給新的數組。
按照C語言中的做法:

1 const size_t arry_size=6;
2 int int_arry[arry_size]={0,1,2,3,4,5};
3 int int_arry2[arry_size];
4 for(size_t ix=0;ix<arry_size;++i)
5        int_arry2[ix]=int_arry[i];

而使用數組初始化vector對象,可以直接利用一個vector對象來初始化另一個vector對象:

 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 
 5 int main() {
 6     //使用數組初始化vector對象 
 7     const size_t arr_size = 6;
 8     int int_arr[arr_size] = { 0,1,2,3,4,5 };
 9     vector<int> ivec(int_arr, int_arr + arr_size);
10     /*傳遞給ivec的兩個指針標出了vector初值的范圍。第二個指針指向被復制的最后一個元素之后的地址空間。*/
11     //被標出的元素范圍可以是數組的子集 
12     vector<int> ivec1(ivec);
13 
14     for (vector<int>::size_type i = 0; i != ivec1.size(); ++i)
15         cout << ivec1[i];
16     cout << endl;
17     return 0;
18 }

講數組轉換為vector對象后,可以使用vector對象的各種函數操作,如size()獲取元素個數,push_back()在末未添加新的元素等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM