vector定义初始化
//头文件#include<vector>using std::vector;vector<T> v1;vector<T> v2(v1);vector<T> v3(n,i);vector<T> v4(n);//创建确定个数的vector对象vector<int> ivec4(10,-1);vector<string> ivec4(10,"hi!");//值初始化//如果没有指定元素初始化,那么标准库将个自行提供一个元素初始值进行值初始化,如:vector保存内置类型(int)的元素,那么标准库将用0值创建元素舒适化式;//如果保存的是有构造函数类型的元素,标准库将用改类型的默认构造函数创建元素初始化式;//vector对象操作v.empty()//如果v为空则返回true,否则返回false。v.size()//返回v中元素的个数v.push_back(t)//在v的末尾增加一个值为t的元素v[n]//返回v中位置为n的数v1=v2 // 把v1的元素替换为v2中元素的副本;vi==v2 // 如果v1与v2相等则返回true!=<<=>>=保持这些操作符惯有的含义//vector对象的size//使用size_type 时必须指出该类型是在哪里定义的vector<int>::size_type//向vector中添加元素push_back()//将一个新元素添加到vector对象的后面//vector的下标操作for(vector<int>::szie_type ix=0; ix!=ivec.size(); ix++){ivec[ix]=0;}//下标操作不能添加元素只能通过 push_back();下标操作仅能对已存在的元素进行下标操作//vector迭代器//标准库为每种标准容器定义了一种迭代器类型,所有的标准库迭代器都定义了相应的迭代器类型,而只有少数的容器支持下标操作//容器的iterator类型vector<int>::iterator iter;//数据类型:由vector<int>定义的iterator类型。//begin 和end操作//每种容器都定义了一对命名为begin和end的函数,用于返回迭代器vector<int>::iterator iter= ivec.begin();//把iter初始化为由名为begin的vector操作返回值的值。及iter指该元素为ivec[0].//vectror的自增和解引用运算//迭代器类型使用解引用操作符(*操作符)来访问迭代器所指元素:*iter=0;++iter //指向第二个元素//由于end操作返回的迭代器不指向任何一个元素,因此不能进行自增和解引用操作//其他操作==!=//应用程序示例for(vector<int>::iterator iter=ivec.gebin(); iter!=ivec.end();++iter){*iter =0;}//const_iterator//const_iterator自身的值可以改变,但不能改变其所指向的元素的值,可以对迭代器进行自增及解引用操作来读取值,但不能对该元素进行赋值//const_iterator和const的iterator对象不一样//声明一个const迭代器必须初始化,一旦初始化后就不能改变其值vector<int> nums(10);cosnt vector<int>::iterator cit= nums.begin();*cit=1;//初始化++cit;错不能改变cit的值//迭代器的算术操作iter +niter - n
vector定义初始化的更多相关文章
- java二维数组定义初始化-杨辉三角
public class Array2Demo2_3 { public static void main(String[] args) { //定义初始化 int[][] arr = new int[ ...
- 局部描述符表LDT的作用+定义+初始化+跳转相关
[0]写在前面 0.1)本代码的作用: 旨在说明局部描述符表的作用,及其相关定义,初始化和跳转等内容: 0.2)文末的个人总结是干货,前面代码仅供参考的,且source code from orang ...
- 120. Triangle 以及一个多维vector如何初始化
1.刚开始result的初始化写的是vector<vector<int>> result,然后再去对result[0][0] = triangle[0][0]赋值,一直报错.老 ...
- c++中的结构体:声明 定义 初始化
什么是结构体? 之前的学习中我们知道了数组是一个容器,而且是存放固定大小数据的容器,而且存放的元素的数据类型必须要一致. 比如数据库中有这样的一条记录学号 性别 年龄 成绩 地址应该怎样存放 结构体: ...
- C++踩坑——用memset对vector进行初始化
在一段程序中,使用memset对vector进行了初始化,然后得到了错误的结果.找这个bug花费了很长时间. vector中有其自身的结构,不能单纯的按字节进行初始化.使用memset对vector进 ...
- vector的初始化方式及用法笔记(不断更新)
vector的初始化方式 1)第一种,类似于数组的方式:vector<string> letter(3);letter[0] = "find";letter[1] = ...
- C++STL中vector的初始化
vector的初始化有很多方式,在N维初始化时还会一些容易出现错误的地方.下面进行总结 以下的总结均以int作为模板参数 一维vector的初始化 vector的构造函数通常来说有五种,如下: vec ...
- 多维的vector定义和初始化
vector<vector<int> >vv(3, vector<int>(4));//这里,两个“>”间的空格是不可少的 将构造一个二维向量vv,它含有三个 ...
- 在spring容器中定义初始化和销毁bean前所做的操作,有三种方式
1.使用注解,通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 package com.luoq.test.annotation.init; ...
随机推荐
- 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(二)
前言 (二)建立虚拟网络环境,以及域控和DNS服务器 1搭建虚拟网络环境 在Azure上创建虚拟网络.本例选择的是东南亚数据中心.后面在创建虚机的时候,也选择这个数据中心. VNet Name: ...
- Swing布局管理器介绍
创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhangjunhd.blog.51cto.com/113473/128174 当选 ...
- tornado+sqlalchemy+celery,数据库连接消耗在哪里
随着公司业务的发展,网站的日活数也逐渐增多,以前只需要考虑将所需要的功能实现就行了,当日活越来越大的时候,就需要考虑对服务器的资源使用消耗情况有一个清楚的认知. 最近老是发现数据库的连接数如果 ...
- JavaScript学习笔记5 之 计时器 & scroll、offset、client系列属性 & 图片无缝滚动
一.计时器 setInterval ( 函数/名称 , 毫秒数 )表示每经过一定的毫秒后,执行一次相应的函数(重复) setTimeout ( 函数/名称 , 毫秒数 ) 表示经过一定的毫秒后,只执行 ...
- Dynamic CRM 查询实体记录 被共享给了 哪个用户
--客户表名"new_customer" SELECT u.FullName AS 被共享人,a.new_name AS 客户名称,sup.SystemUserid AS 共享人I ...
- 快速上手Unity原生Json库
现在新版的Unity(印象中是从5.3开始)已经提供了原生的Json库,以前一直使用LitJson,研究了一下Unity用的JsonUtility工具类的使用,发现使用还挺方便的,所以打算把项目中的J ...
- asp.net mvc 之旅 —— 第五站 从源码中分析asp.net mvc 中的TempData
在mvc的controller中,我们知道有很多的临时变量存放数据,比如说viewData,viewBag,还有一个比较特殊的tempData,关于前两个或许大家都明白, 基本上是一个东西,就是各自的 ...
- 两个js文件之间函数互调问题
按照常理来说,在<body>标签结束之前以下面的方式引入两个js文件 <script src="a.js"></script> <scri ...
- 腾讯php经历
12年毕业至今,一年C#,2年php,几个月node,因为一些原因再次离职,接到腾讯互娱的php面试电话,匆匆准备了一番,便去了科兴科技园腾讯的高大上办公楼. 1.笔试 试题大部分网上都有,例如: 用 ...
- ie6支持最小高度
min-height:100px; height:auto !important; height:100px;