c++vector初始化的几种方法
生活随笔
收集整理的這篇文章主要介紹了
c++vector初始化的几种方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.練習1
#include <iostream> #include <string> #include <vector> #include <deque> #include <list> #include <forward_list> #include <string> #include <array> using namespace std; #define LENGTH 10 typedef int TYPE; typedef vector<TYPE> VECTORTYPE; typedef deque<TYPE> DEQUETYPE; typedef list<TYPE> LISTTYPE; typedef forward_list<TYPE> FORWARD_LISTTYPE; typedef array<TYPE,LENGTH> ARRAYTYPE; void print(VECTORTYPE &); int main() {VECTORTYPE v1;//two list's initializeVECTORTYPE v2{1,2,3,4,5,6,7,8,9,0};VECTORTYPE V21 = {1,2,3,4,5,6,7,8,9,0};//tow copy of container's elementVECTORTYPE v3(v2);VECTORTYPE v4 = v2;//two construction of containerVECTORTYPE v5(10,3); //ten 3VECTORTYPE v7(10);// a iteratorVECTORTYPE v6(v2.begin(),v2.end());print(v1);print(v2);print(v3);print(v4);print(v5);print(v6);print(v7);return 0; } void print(VECTORTYPE &vec) {for(VECTORTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }總結起來有以下幾個:
2列表初始化,2個拷貝,2構造,1默認(無初值),1迭代器共8種方法。
2.如何從一個list<int>和一個vector<int>創建vector<double>類型,編寫代碼確認你的答案。
當然是用迭代器初始化,可以相互轉換都可以,而且不要求容器和元素類型相同。代碼如下:
? #include <iostream> #include <string> #include <vector> #include <deque> #include <list> #include <forward_list> #include <string> #include <array> using namespace std; #define LENGTH 10 typedef int TYPE; typedef vector<TYPE> VECTORTYPE; typedef deque<TYPE> DEQUETYPE; typedef list<TYPE> LISTTYPE; typedef forward_list<TYPE> FORWARD_LISTTYPE; typedef array<TYPE,LENGTH> ARRAYTYPE; void print(VECTORTYPE &); int main() {VECTORTYPE v1;//two list's initializeVECTORTYPE v2{1,2,3,4,5,6,7,8,9,0};VECTORTYPE V21 = {1,2,3,4,5,6,7,8,9,0};//tow copy of container's elementVECTORTYPE v3(v2);VECTORTYPE v4 = v2;//two construction of containerVECTORTYPE v5(10,3); //ten 3VECTORTYPE v7(10);// a iteratorVECTORTYPE v6(v2.begin(),v2.end());print(v1);print(v2);print(v3);print(v4);print(v5);print(v6);print(v7);return 0; } void print(VECTORTYPE &vec) {for(VECTORTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }??
總結
以上是生活随笔為你收集整理的c++vector初始化的几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++容器定义、初始化、赋值
- 下一篇: c++ primer第四版上的内容质疑