66)vector基础总结
基本知识:

1)vector 样子 其实就是一个动态数组:

2)vector的基本操作:

3)vector对象的默认构造

对于类 添加到 容器中 要有 拷贝构造函数---》 这个注意
------(1) 利用 v1.size() 来求容器中元素的个数

#include<iostream>
#include<vector>
using namespace std;
void hanshu()
{
vector<int> v1;
v1.push_back();
v1.push_back();
v1.push_back();
//这个 size() 就是在求容器的长度
cout<<v1.size()<<endl;
//
}
int main()
{
hanshu();
return ;
}
---------(2)求这个动态数组的最后一个元素和 第一个元素
#include<iostream>
#include<vector>
using namespace std;
void hanshu()
{
vector<int> v1;
v1.push_back();
v1.push_back();
v1.push_back(); //求解第一个元素值
cout<<v1.front()<<endl;
//求解最后一个元素的值
cout<<v1.back()<<endl; }
int main()
{
hanshu();
return ;
}
---------(3)修改容器的头部信息
#include<iostream>
#include<vector>
using namespace std;
void hanshu()
{
vector<int> v1;
v1.push_back();
v1.push_back();
v1.push_back();
//函数返回值作为左值成立,那么是返回一个引用
//修改第一个元素值
v1.front()=; }
int main()
{
hanshu();
return ;
}
----------------------(4)vector赋值

---------------(5)vector末尾添加或移除数据

--------------(6)存取vector数据

---(7)vector中的拷贝构造函数,如果没有自己定义 那么就是 浅拷贝,浅拷贝,浅拷贝,浅拷贝,浅拷贝----
主要是由于push_back函数引起的。这个函数会对传递进来的参数进行一次拷贝(调用拷贝构造函数),并将其添加到vector中。如果对象没有拷贝构造函数,编译器会为其生成一个,但是这个编译器生成的拷贝构造函数只是进行了一次浅拷贝,在本例中就是只是复制了str的值,也就是"strend micro"的地址,即拷贝后的对象和原对象的str都是指向同一块内存区域,但是这个拷贝的对象和原对象的析构函数又都会执行,这里就会delete两次。(注意,即使对于一个空类,编译器也会默认生成4个成员函数:默认构造函数,析构函数,拷贝构造函数,赋值函数。)
-------------------(8)迭代器的基本原理

----------(9)vector的数据删除
理论知识
vector.clear(); //移除容器的所有数据
vec.erase(beg,end); //删除[beg,end)区间的数据,返回下一个数据的位置。
vec.erase(pos); //删除pos位置的数据,返回下一个数据的位置。
简单案例:
删除区间内的元素
vecInt是用vector<int>声明的容器,现已包含按顺序的1,,,,9元素。
vector<int>::iterator itBegin=vecInt.begin()+;
vector<int>::iterator itEnd=vecInt.begin()+;
vecInt.erase(itBegin,itEnd);
//此时容器vecInt包含按顺序的1,6,9三个元素。 假设 vecInt 包含1,,,,,,,,,,删除容器中等于3的元素
for(vector<int>::iterator it=vecInt.being(); it!=vecInt.end(); ) //小括号里不需写 ++it
{
if(*it == )
{
it = vecInt.erase(it); //以迭代器为参数,删除元素3,并把数据删除后的下一个元素位置返回给迭代器。
//此时,不执行 ++it;
}
else
{
++it;
}
} //删除vecInt的所有元素
vecInt.clear(); //容器为空
66)vector基础总结的更多相关文章
- vector基础
//STL基础 //容器 //vector #include "iostream" #include "cstdio" #include "vecto ...
- vector基础操作
//vector< T> vec; //构造一个名为vec的储存数据类型为T的动态数组.其中T为需要储存的数据类型 //初始时vec为空 //push_back 末尾添加一个元素 //po ...
- vector 基础2
size :返回有效元素个数 max_size :返回 vector 支持的最大元素个数 resize :改变有效元素的个数 capacity :返回当前可使用的最大元素内存块数(即存储容量) ...
- vector 基础
http://classfoo.com/ccby/article/jnevK Vector的存储空间是连续的,list不是连续存储的 vector初始化 vector<int>v; //不 ...
- day 66 Django基础之jQuery操作cookie
Django基础之jQuery操作cookie jquery之cookie操作 定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery. ...
- day 66 Django基础二之URL路由系统
Django基础二之URL路由系统 本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11 ...
- STL—Vector简介
有关C++ STL 中的vector向量的用法(代码示例) 一. 简介 Vector是一个称为向量的顺序容器(不明白顺序容器与关联容器的可以Google). 二. 特点 1. 动态(相当于一个动态数组 ...
- Android Vector曲折的兼容之路
Android Vector曲折的兼容之路 两年前写书的时候,就在研究Android L提出的Vector,可研究下来发现,完全不具备兼容性,相信这也是它没有被广泛使用的一个原因,经过Google的不 ...
- java数据结构-Vector
1 Vector基础实现为数组 object[] synchronized线程安全 2 扩容使用 System.arraycopy(original, 0, copy, 0,Math.min(ori ...
随机推荐
- Oracle Exadata 学习笔记之核心特性Part1
近年来,国内众多厂商都有一体机的产品,不过更多都是围绕硬件本身的堆砌和优化,那么这些产品和Oracle一体机最大的区别在哪里呢?最近读了李亚的<Oracle Exadata技术详解>,系统 ...
- sql编程利器,Sql Prompt下载及安装方法
Sql Prompt只能提示及其格式化用起来非常方便: 推荐网址:www.4-yecao.com 免费下载地址:http://download.csdn.net/detail/caizz520/455 ...
- list实体数据分组
比如查询获取了60000条数据进行批量插入数据库,一次直接插入6万可能不是很好,可以将6万条数据按照5000分成几组,每组批量插入5000条 List<T> list = new List ...
- 二、【重点】环境安装:通过淘宝 cnpm 快速安装使用 React,生成项目,运行项目、安装项目
1.cnpm代替npm 如果你的系统还不支持 Node.js 及 NPM 可以参考我们的 Node.js 教程. 我们建议在 React 中使用 CommonJS 模块系统,比如 browserify ...
- vue使用Vant UI中的swiper组件及传值
子组件SwiperBanner <!-- --> <template> <div class="swiper"> <van-swipe : ...
- TX2_安装view_team
TX2上的帐号是:1317149963,dc200820305233 参考网站:https://blog.csdn.net/qq_33512213/article/details/90050792 安 ...
- 19 01 17 Django 模型 使用mysql数据库
今天演示使用MySQL数据库,这是Web项目首选的数据库. 进入虚拟环境py_django. workon py_django 在/home/python/pytest目录下创建项目test2. dj ...
- tomcat的8080,8009,8443,8005都是什么端口
<Server port="8005" shutdown="SHUTDOWN"> 远程停服务端口<Connector port="8 ...
- C# 互操作性入门系列(三):平台调用中的数据封送处理
好文章搬用工模式启动ing ..... { 文章中已经包含了原文链接 就不再次粘贴了 言明 改文章是一个系列,但只收录了2篇,原因是 够用了 } --------------------------- ...
- Java 性能优化:面向对象及基础类型使用优化
性能优化是个大筐,很多东西都能往里面装.虽说性能优化的具体方面比较多,但万丈高楼从地起,这里还是从Java最基本的一些入门知识相关的使用优化进行一些做些总结和建议.如何连最基本的API使用都不会,或不 ...