当前位置:
首页 >
数组赋值给vector和list,顺便说明int和size_t的区别
发布时间:2024/4/18
56
豆豆
生活随笔
收集整理的这篇文章主要介绍了
数组赋值给vector和list,顺便说明int和size_t的区别
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
如果a是数组,那么a.size() 返回的类型是size_t类型。
数组赋值给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()); //结果这里报错。list<int> lint;lint.assign(ia,ia + ia.size()); //结果这里报错。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 ; }注意:容器赋值的迭代器,有时候可以用数组的地址代替。
代码改正如下:
#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 ; }
总结
以上是生活随笔为你收集整理的数组赋值给vector和list,顺便说明int和size_t的区别的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: c++ Segmentation fau
- 下一篇: 向顺序容器vector、string、d