c++容器简单总结(续)
|
操作 |
效果 |
|
vector<T> c |
产生空的vector |
|
vector<T> c1(c2) |
产生同类型的c1,并将复制c2的所有元素 |
|
vector<T> c(n) |
利用类型T的默认构造函数和拷贝构造函数生成一个大小为n的vector |
|
vector<T> c(n,e) |
产生一个大小为n的vector,每个元素都是e |
|
vector<T> c(beg,end) |
产生一个vector,以区间[beg,end]为元素初值 |
|
~vector<T>() |
销毁所有元素并释放内存。 |
|
操作 |
效果 |
|
c.size() |
返回元素个数 |
|
c.empty() |
判断容器是否为空 |
|
c.max_size() |
返回元素最大可能数量(固定值) |
|
c.capacity() |
返回重新分配空间前可容纳的最大元素数量 |
|
c.reserve(n) |
扩大容量为n |
|
c1==c2 |
判断c1是否等于c2 |
|
c1!=c2 |
判断c1是否不等于c2 |
|
c1<c2 |
判断c1是否小于c2 |
|
c1>c2 |
判断c1是否大于c2 |
|
c1<=c2 |
判断c1是否大于等于c2 |
|
c1>=c2 |
判断c1是否小于等于c2 |
|
操作 |
效果 |
|
c1 = c2 |
将c2的全部元素赋值给c1 |
|
c.assign(n,e) |
将元素e的n个拷贝赋值给c |
|
c.assign(beg,end) |
将区间[beg;end]的元素赋值给c |
|
c1.swap(c2) |
将c1和c2元素互换 |
|
swap(c1,c2) |
同上,全局函数 |
|
操作 |
效果 |
|
at(idx) |
返回索引idx所标识的元素的引用,进行越界检查 |
|
operator [](idx) |
返回索引idx所标识的元素的引用,不进行越界检查 |
|
front() |
返回第一个元素的引用,不检查元素是否存在 |
|
back() |
返回最后一个元素的引用,不检查元素是否存在 |
迭代器相关函数
|
操作 |
效果 |
|
begin() |
返回一个迭代器,指向第一个元素 |
|
end() |
返回一个迭代器,指向最后一个元素之后 |
|
rbegin() |
返回一个逆向迭代器,指向逆向遍历的第一个元素 |
|
rend() |
返回一个逆向迭代器,指向逆向遍历的最后一个元素 |
安插元素
|
操作 |
效果 |
|
c.insert(pos,e) |
在pos位置插入元素e的副本,并返回新元素位置 |
|
c.insert(pos,n,e) |
在pos位置插入n个元素e的副本 |
|
c.insert(pos,beg,end) |
在pos位置插入区间[beg;end]内所有元素的副本 |
|
c.push_back(e) |
在尾部添加一个元素e的副本 |
c++容器简单总结(续)的更多相关文章
- docker 容器简单使用
文章目录 docker简介 docker容器简单使用 1.HelloWorld 2.运行交互式的容器 3.启动容器(后台模式) 安装docker容器的博文有很多这里就不做过多赘述了,另外如果不想安装d ...
- cocos2dx的模板容器简单使用(Vector,Map,Value)
在cocos2dxv3.0beta之前存在顺序性容器cocos2d::CCArray,和cocos2d::CCDictionary.可是在新版本号之后这两个容器都将被cocos2d::Vector&l ...
- java-Enumeration,单向队列Queue及双向队列Deque等容器简单使用
1.Enumeration容器使用: package com.etc; import java.util.Enumeration; import java.util.Vector; /* Enumer ...
- Vector 容器简单介绍
# Vector STL简要介绍 关于STL中的vector容器,以下做一些相关介绍. #### vector 简要概述 vector 称作向量类,属于容器类,实现了动态的数组,用于元素数量变化的对象 ...
- [C++ STL] 各容器简单介绍
什么是STL? 1.STL(Standard Template Library),即标准模板库,是一个高效的C++程序库. 2.包含了诸多常用的基本数据结构和基本算法.为广大C++程序员们提供了一个可 ...
- python 多线程就这么简单(续)
之前讲了多线程的一篇博客,感觉讲的意犹未尽,其实,多线程非常有意思.因为我们在使用电脑的过程中无时无刻都在多进程和多线程.我们可以接着之前的例子继续讲.请先看我的上一篇博客. python 多线程就这 ...
- C++ set容器简单用法
set是关联容器,类似于集合,里面的元素不会重复,而且呈现为有序性 常用操作: using namespace std; set<int>:s;1.元素插入:s.insert()2.中序遍 ...
- c++容器简单总结
数据结构 描述 实现头文件 向量(vector) 连续存储的元素 <vector> 列表(list) 由节点组成的双向链表,每个结点包含着一个元素 <list> 双队列(deq ...
- jetty加载spring-context容器源码分析
带着疑问开始 web.xml的顺序问题 先拿一个最简单的spring mvc web.xml来说问题,如下图:如果我将三者的顺序倒置或是乱置,会产生什么结果呢? 启动报错?还是加载未知结果?还是毫无影 ...
随机推荐
- shell多线程之进程间通信
# 这是一个简单的并发程序,有如下要求: # .有两个程序a和b,希望他们能并发执行,以节约时间 # .a和b都是按照日期顺序执行,但b每日程序的前提条件是当日a的程序已经执行完毕 #解决方案: # ...
- 简洁的描述SpringMVC工作流程
1.客户端发送来的请求 经过前端控制器(springDispatcherServlet)调用映射器(HandlerMapping)来找到对应的执行链(HandlerExecutionChain)对象, ...
- 系列教程 - java web开发
代码之间工作室持续推出Java Web开发系列教程与案例,供广大朋友分享交流技术经验,帮助喜欢java的朋友们学习进步: java web 开发教程(1) - 开发环境搭建 技术交流QQ群: 商务合作 ...
- gitlab安装笔记二_Centos7配置163yum源
进入配置目录 cd /etc/yum.repos.d 压缩备份原有的配置 sudo tar cvf base.tar.gz *.repo 可以解压查看备份 sudo tar xvf base. ...
- mk、cd、pwd、ls、touch、vi、cat、cp、mv的使用及命令快捷方式
1 命令提示符 1.1 [ root @ oldboyedu62 ~ ] 1 2 3 4 1:登陆系统的用户身份 2:命令分割符合 3:主机名称信息 4:显示当前所在目录路径 1.2 系统 ...
- vuex分模块后,如何获取state的值
问题:vuex分模块后,一个模块如何拿到其他模块的state值,调其他模块的方法? 思路:1.通过命名空间取值--this.$store.state.car.list // OK 2.通过定义该属性的 ...
- php实现redis锁机制
<?php class Redis_lock { public static function getRedis() { $redis = new redis(); $redis->con ...
- vue的懒加载如何实现?
个人通过查找发现一个比较好用的模块,vue-lazyload 第一步 下载安装这个包 npm install vue-lazyload 第二步 在main.js中引入这个模块 import Vu ...
- Java:Web Service初入门
前言 Web Service技术在我第一次接触,又没有实际使用时完全不理解这是什么.以为是一种类似Spring,Shiro的编程框架.后来渐渐理解,WS(即Web Service缩写)是一种通用的接口 ...
- Linux就该这么学---第一课 20190705
要认真学习,认真完成作业,最主要是坚持,我感觉自己坚持这个能力欠缺,要主动改正. 还想说一句,以前我是20期学员,后面没有时间学习了,现在到22期了,我要坚持学习完成,坚持 坚持 坚持!!! 现在分享 ...