数组赋值给vector和list,顺便说明int和size_t的区别
生活随笔
收集整理的這篇文章主要介紹了
数组赋值给vector和list,顺便说明int和size_t的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
如果a是數(shù)組,那么a.size() 返回的類型是size_t類型。
數(shù)組賦值給vector或者list,可以采用地址。
#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 list<TYPE> LISTTYPE; void print(VECTORTYPE & ); void print(LISTTYPE & ); int main() {int ia[] = {0,1,1,2,3,5,8,13,21,55,89};vector<int> vint;vint.assign(ia,ia + ia.size()); //結(jié)果這里報錯。list<int> lint;lint.assign(ia,ia + ia.size()); //結(jié)果這里報錯。return 0; } void print(VECTORTYPE &vec) {for(VECTORTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(LISTTYPE &vec) {for(LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }注意:容器賦值的迭代器,有時候可以用數(shù)組的地址代替。
代碼改正如下:
#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 list<TYPE> LISTTYPE; void print(VECTORTYPE & ); void print(LISTTYPE & ); int main() {int ia[] = {0,1,1,2,3,5,8,13,21,55,89};vector<int> vint;vint.assign(ia,ia + 11); list<int> lint;lint.assign(ia,ia + 11); return 0; } void print(VECTORTYPE &vec) {for(VECTORTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(LISTTYPE &vec) {for(LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }?
總結(jié)
以上是生活随笔為你收集整理的数组赋值给vector和list,顺便说明int和size_t的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ Segmentation fau
- 下一篇: 向顺序容器vector、string、d