cin&cout

  1. 输入到文件末尾,语句: while(cin>>a)
  2. cin输入可以自动刷新缓冲区
  3. cout 的专用回车:endl
  4. 输入字符串带空格即止,如果要输入带空格的字符串,用gets(),若输入的是string类型字符串str,则getline(cin,str),输入空格用getchar()
  5. 速度慢,高效输入输出还是要用 scanf 和 printf ,循环中也尽量少用cin cout

string

  1. 这是个数据类型,此数据类型的字符串与其它变量一样,都可以用 = 赋值,用==,!= 来比较大小,用+往后加东西,甚至可以用 > < 来按字典序比较大小。基本上其它类型变量能做的它也都可以
  2. string类型字符串既可以当作一个整体的string类型变量,又可以作为一个char类型数组,char[]能做的它也都能做,cstring里的库函数也都能用
  3. 最初定义时无空间,不可直接初始化。
  4. 最终输入完后同样自动加’\0’
  5. 以下str全部为字符串名,可以替换为a,b,duohereshui等自定义名字
    str.size() 返回值为字符串长度
  6. str.begin() , str.end() 分别为指向首尾元素的指针
  7. str.empty()返回值为bool类型,判断是否为空
  8. str.clear() 清空字符串
  9. str.swap(str1) 交换两字符串的值,括号中参数为另一字符串名,不可为常量
  10. str.substr(index,num) 返回值为str的一个字串,下标为index的字符作第一个,向后num个字符
  11. str.erase(index,num) 将下标为index的字符作为第一个,向后删num个 ;str.erase(index) 删除从下标index向后的所有字符
  12. str.insert(index,str1) 将str1从index插入(index为插入的str1的第一个字符的下标)

sort

  1. 默认从小到大排序,此时可省略comp函数
  2. 只可排连续内存的一串变量,例如数组。不可排链表
  3. 若要从大到小排,则自定义comp函数:
bool comp(int a,int b)//可以是其它数据类型
{return a>b;
}
  1. 还可以设置排序的第一参考值,第二参考值等等(类似excel里的排序?)
bool comp(point a,point b)
{if(a.x!=b.x)return a.x>b.x;//按x降序else return a.y<b.y;//按y升序
}

algorithm

  1. reverse颠倒序列
    (1)reverse(str.begin(),str.end());颠倒string类型字符串
    (2)reverse(a,a+m);颠倒数组
  2. swap 交换的两个必须为同一数据类型的变量
  3. lower_bound与upper_bound 必须查找顺序序列,得到的是第一个大于等于所查找数的位置和第一个大于所查找数的位置
    用法:lower_bound(address1,address2,element)address1,address2分别为查找的起止位置,element为要查找的元素
    lower_bound(address1,address2,element)-address1 为元素下标
    upper_bound(address1,address2,element) - lower_bound(address1,address2, element)为你所查找的元素的总个数
    若找不到:返回address2+1
  4. binary_search 看数组中是否存在查找的值,若不存在,返回值为true or false
    用法: binary_search(address1,address2,element)
  5. unique 删除相邻的重复元素
    用法: unique(address1,address2)

函数默认值

函数定义时,可在参数表中添加默认值,这样传参时可以不传它,注意,无默认值的参数一定要在有默认值的参数右边,否则会造成编译错误。

pair

  1. 头文件:utility
  2. 格式:pair < type1 ,type 2> ;这样这个整体为一个新的数据类型,可以typedef一下把它的名字改了,方便打
  3. pair第一个元素first,第二个second,整个pair可以比较大小,先first,后second

vector

  1. vector< type > 可以理解为 定义一个装有type型数据的容器, 这个整体是个新的数据类型
  2. 也可以和数组一个用法
  3. 最初定义时无内存,往里面添加东西需要push_back,不可直接赋值,也可以在最初定义时就写上(n)表示给n个空间,例如vector< int > vec(n)。有空间后可以赋值但无法改变空间大小;
  4. 引用
typedef vector<int> vi;
void sum(vi &x)
{}
int main()
{vi vec;sum(vec);
}

将vec数组传进函数,重新起名为x进行运算,改变x后vec也发生变化。但是不拷贝,比一般传参要快
5. v2.resize(v1.size()) 将v2的大小变得和v1一样,不过可能切断原序列
6. begin,end含义同string,front,back为指针
7. sort 可以直接为vector 内元素排序
格式sort(vec.begin(),vec.end(),comp)

map

  1. #include< map>
  2. map<type1,type2> 定义一个type1到type2的映射,type1不可重复,type2为实值可以重复
  3. map<char,int> m;
    m[‘c’]=1;
  4. for(auto x:m){}语句
    x为一个数据类型可变的东西,依次遍历m中的元素,直到结尾。比如x可以在第一次循环中做m[1],第二次循环中作m[2]
    auto的含义是数据类型可根据变量发生变化,可以int,可以double等等

memset

初始化函数,格式为memset(num,sizeof(int),n)
第一个参数为需要初始化的数组
第二个参数为初始化的字节数
第三个参数为十六进制数或一个字符,是要初始化成的东西
注意数少时才这么用。数组元素过多时还是挨个赋值更节省时间

2019.12.16--2019.12.22 第五周 关于C++的零零散散(只是自留)相关推荐

  1. 【STM32CubeMx】学习记录(基于微雪教程)(2019/2/16——2019/2/23完结)

    教程学习网址:http://www.waveshare.net/study/article-666-1.html 2019/2/16 STM32CubeMx系列教程 1-3 2019/2/17 STM ...

  2. 第五周学习总结-HTML5

    2018年8月12日 暑假第五周,我把HTML剩余的一些标签和用法看完了并学了一些HTML5的标签及用法. HTML5比HTML多了一些元素,也删去了一些元素. HTML5新增元素 图形元素 < ...

  3. 【今日CV 计算机视觉论文速览】Tue, 12 Mar 2019

    今日CS.CV计算机视觉论文速览 Tue, 12 Mar 2019 Totally 50 papers Interesting: SARA基于深度强化学习用艺术笔触渲染图片,使得机器可以学会解构图片, ...

  4. 【今日CV 计算机视觉论文速览 第99期】Fri, 12 Apr 2019

    今日CS.CV 计算机视觉论文速览 Fri, 12 Apr 2019 Totally 50 papers ?上期速览 ✈更多精彩请移步主页 Interesting: ?DBPN基于深度方向传播的图像超 ...

  5. 18天精读掌握《费曼物理学讲义卷一》 第12天 2019/6/28

    18天精读掌握<费曼物理学讲义卷一> 第12天 2019/6/28 1. 18日掌握<费曼物理学讲义>卷一计划概览 2. 今日学习成果 3. 今日时间表 4.Atimelogg ...

  6. [软件自动修复领域] 前沿论文阅读(2019年8月12日)

    文章目录 前言 论文列表 Automated Program Repair: A Step towards Software Automation Getafix: Learning to fix b ...

  7. 梦幻诛仙 修改服务器时间,《梦幻诛仙手游》2019年3月12日14:00~19:00数据互通公告...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 亲爱的少侠: 为了给每一位少侠提供更好的游戏体验,让少侠们享受更多乐趣,挑战和结识更多志同道合的伙伴,梦幻诛仙手游响应大家的呼声,结合各服务器具体情况,逐 ...

  8. 七牛云:2019年云综合收入 12.5亿元,不再是CDN代表

      云排名分析:七牛云,2019年云综合收入 12.5亿元. 虽然阿里巴巴在2017年10亿元投资了七牛云,但是七牛云没有直接并入阿里云旗下,而是一直独立运营. 在CDN领域中,2019年的市场变化很 ...

  9. 侍魂微信第一个服务器,侍魂手游2019年4月12日微信问答试炼答案

    原标题:侍魂手游2019年4月12日微信问答试炼答案 爱心榜前30名可以获得什么限时称号?(回答格式为:SH+答案,如答案是莉姆酱,则回复SH莉姆酱)这是侍魂手游2019年4月12日微信问答试炼每日一 ...

最新文章

  1. 学习谭浩强老师的《C程序设计》,必配《C程序设计伴侣》!
  2. tensorflow学习笔记五:mnist实例--卷积神经网络(CNN)
  3. 【caffe-Windows】mnist实例编译之model的使用-classification
  4. 在谈PHP中的 抽象类(abstract class)和 接口(interface)
  5. vim 文本编辑器_标志性的文本编辑器Vim庆祝成立25周年
  6. js中如何在不影响既有事件监听的前提下新增监听器
  7. 华为搜索引擎面世,百度搜索有点危险了!
  8. 25.TCP/IP 详解卷1 --- SNMP:简单网络管理协议
  9. 重新复习基础草稿:迭代器的使用
  10. 如何批量将 Word 文档转为 XPS 格式
  11. dell台式计算机恢复出厂设置,戴尔电脑如何恢复出厂设置
  12. 人工智能系列之基本框架梳理
  13. 知行EDI系统如何通过中间数据库表方式集成金蝶ERP
  14. AIX7.1 安装配置 HPE 3PAR 存储驱动软件
  15. JDBC连接执行 MySQL 存储过程报权限错误:User does not have access to metadata required to determine stored procedur
  16. ExtJs4(5)——左边树,右边表结构
  17. Phonegap 通知 Notification
  18. Simlab Composer 10中文版
  19. CSS基础: 浮动 以及清除浮动
  20. 我也说说Nginx解决前端跨域问题,正确的Nginx跨域配置(后端Nginx CORS跨域配置、CORS设置,后端允许跨域请求)

热门文章

  1. 青岛盘古开源深入芯片产业研发,打造芯片产品核心竞争力
  2. 软件测试学习 之 Python 模拟倒计时、百分比进度
  3. 服务器安装kangle系统,云服务器安装kangle
  4. 【对讲机的那点事】玩对讲机你知道那些因素影响对讲机的距离吗?
  5. 同一公司里,为什么搞管理的总是比搞技术的工资高?
  6. 完爆体测计划【1000M、体前屈】
  7. Symbian操作系统中的线程和进程
  8. onlyoffice docs 社区版部署(windows版)--使用于onlyoffice二次开发
  9. base64stego的writeup
  10. 2022年全球市场漫画创作软件总体规模、主要企业、主要地区、产品和应用细分研究报告