如果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的区别相关推荐

  1. c++中如何将数组赋值给vector

    int arr[11] = { 21, 4, 55, 220, 46, 79,200, 5, 78, 34, 100 }; //用数组给v容器赋值vector<int> v(arr,arr ...

  2. 如何将二维数组赋值给vector

    一维数组: vector<int> a; int b[5] = {1,2,3,4,5}; a.push_back(b);二维数组: b[5][6] = {1,2,3,4,5,6...27, ...

  3. 二维数组赋值给vector

    一维: vector<int> a; int b[5] = {1,2,3,4,5}; a.push_back(b); 二维: vector<vector<int> > ...

  4. 给字符数组赋值的方法

    main() { char s[30]; strcpy(s, "Good News!"); /*给数组赋字符串*/ . . . } 上面程序在编译时, 遇到char s[30]这条 ...

  5. Qt中QVector赋值速度与数组赋值速度的测试比较

    工作中需要解析mono12 packet format 格式的灰度图数据,数据大小为100M,自己写代码将其解析成16位的short的时候,耗时都特别长需要5s才能解析完,后来我发现是用了QVecto ...

  6. vector型二维数组赋值问题

    vector二维数组不像普通的二维数组 赋值方法为: 如果想要定义一个nn的二维数组并且给它赋值 1.首先定义一个初始大小为n的一维vector数组,假设n已知 vector arr(n, 0); 2 ...

  7. C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲

     使用C++风格的数组,不需要管理内存. array要注意不要溢出,因为它是栈上开辟内存. array适用于任何类型 #include<iostream> #include<ar ...

  8. C++ 动态二维数组(二维vector)

    创建二维数组: vector<int> vec(4,2); //将含有4个数据的一维动态数组初始为2 vector< vector<int> > asd1(row, ...

  9. access vba 常量数组赋值_聊聊 VBA 数组的那些坑

    为什么使用数组? 1. 缩减工作薄文件大小,提高运行效率 一般而言只是使用 Excel 的内置工作表函数,在运算方面还是很高效的,但有时因为一个单元格牵扯的计算太多,比如调用多单元格数据,对结果文本进 ...

最新文章

  1. (转) 分布式文件存储FastDFS(七)FastDFS配置文件详解
  2. Hashtable源码注释
  3. 表的插入、更新、删除、合并操作_10_仅复制表结构
  4. 卷积云神经网络_2018.10
  5. eclipse运行报java.lang.OutOfMemoryError: PermGen space解决方法
  6. spyder中绘图无法显示负号_Python绘图--时序图
  7. Fatal error: Maximum function nesting level of '100' reached, aborting!
  8. NYOJ题目96 n-1位数
  9. Scikit-learn:聚类clustering
  10. unix系列系统镜像下载
  11. Eclipse插件开发
  12. 使用AVSpeechSynthesizer添加文本转语音的功能
  13. Mac下PHP连接MySQL报错"No such file or directory"的解决办法
  14. 饼图指北(Pie Chart)
  15. appium java常用函数_AppiumLibrary常用关键字
  16. 号外!2021考研政治肖1000大幅修订?你的肖1000Anki牌组笔记已出炉!
  17. 相机内参模型Mei/omni-directional详解
  18. php上传txt文件读取乱码
  19. Spring嵌套事务是怎么回滚的?
  20. 浅谈赢得值理论的运用-Oracle p6

热门文章

  1. 直接用img 的src属性显示base64转码后的字符串成图片【原】
  2. 这是霄哥的天气预报,屌不屌?
  3. Levenshtein Distance算法(编辑距离算法)
  4. windows 环境怎样恢复 (oracle 11g grid) ocr voting 损坏的集群
  5. 迪杰斯特拉--- 模板(求最短路径/输出路径/所有路径都可以走的做法)
  6. SharePoint 2010 隐藏快速启动栏(左侧导航)
  7. (Head First 设计模式)学习笔记(1)
  8. asp.net 2.0 中引用Web.config内的连接字符串的方法
  9. AspectJ的实现机制
  10. PHP-代码审计-代码执行