数组赋值给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++中如何将数组赋值给vector
int arr[11] = { 21, 4, 55, 220, 46, 79,200, 5, 78, 34, 100 }; //用数组给v容器赋值vector<int> v(arr,arr ...
- 如何将二维数组赋值给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, ...
- 二维数组赋值给vector
一维: vector<int> a; int b[5] = {1,2,3,4,5}; a.push_back(b); 二维: vector<vector<int> > ...
- 给字符数组赋值的方法
main() { char s[30]; strcpy(s, "Good News!"); /*给数组赋字符串*/ . . . } 上面程序在编译时, 遇到char s[30]这条 ...
- Qt中QVector赋值速度与数组赋值速度的测试比较
工作中需要解析mono12 packet format 格式的灰度图数据,数据大小为100M,自己写代码将其解析成16位的short的时候,耗时都特别长需要5s才能解析完,后来我发现是用了QVecto ...
- vector型二维数组赋值问题
vector二维数组不像普通的二维数组 赋值方法为: 如果想要定义一个nn的二维数组并且给它赋值 1.首先定义一个初始大小为n的一维vector数组,假设n已知 vector arr(n, 0); 2 ...
- C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲
使用C++风格的数组,不需要管理内存. array要注意不要溢出,因为它是栈上开辟内存. array适用于任何类型 #include<iostream> #include<ar ...
- C++ 动态二维数组(二维vector)
创建二维数组: vector<int> vec(4,2); //将含有4个数据的一维动态数组初始为2 vector< vector<int> > asd1(row, ...
- access vba 常量数组赋值_聊聊 VBA 数组的那些坑
为什么使用数组? 1. 缩减工作薄文件大小,提高运行效率 一般而言只是使用 Excel 的内置工作表函数,在运算方面还是很高效的,但有时因为一个单元格牵扯的计算太多,比如调用多单元格数据,对结果文本进 ...
最新文章
- (转) 分布式文件存储FastDFS(七)FastDFS配置文件详解
- Hashtable源码注释
- 表的插入、更新、删除、合并操作_10_仅复制表结构
- 卷积云神经网络_2018.10
- eclipse运行报java.lang.OutOfMemoryError: PermGen space解决方法
- spyder中绘图无法显示负号_Python绘图--时序图
- Fatal error: Maximum function nesting level of '100' reached, aborting!
- NYOJ题目96 n-1位数
- Scikit-learn:聚类clustering
- unix系列系统镜像下载
- Eclipse插件开发
- 使用AVSpeechSynthesizer添加文本转语音的功能
- Mac下PHP连接MySQL报错"No such file or directory"的解决办法
- 饼图指北(Pie Chart)
- appium java常用函数_AppiumLibrary常用关键字
- 号外!2021考研政治肖1000大幅修订?你的肖1000Anki牌组笔记已出炉!
- 相机内参模型Mei/omni-directional详解
- php上传txt文件读取乱码
- Spring嵌套事务是怎么回滚的?
- 浅谈赢得值理论的运用-Oracle p6
热门文章
- 直接用img 的src属性显示base64转码后的字符串成图片【原】
- 这是霄哥的天气预报,屌不屌?
- Levenshtein Distance算法(编辑距离算法)
- windows 环境怎样恢复 (oracle 11g grid) ocr voting 损坏的集群
- 迪杰斯特拉--- 模板(求最短路径/输出路径/所有路径都可以走的做法)
- SharePoint 2010 隐藏快速启动栏(左侧导航)
- (Head First 设计模式)学习笔记(1)
- asp.net 2.0 中引用Web.config内的连接字符串的方法
- AspectJ的实现机制
- PHP-代码审计-代码执行