欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

数组赋值给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的区别的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。