首页 > 其他分享 >IO库和string、vector

IO库和string、vector

时间:2023-05-17 16:25:18浏览次数:34  
标签:string 迭代 一个 运算符 vector IO 字符串

  1. IO 库重载了移位运算符
    1.   C++并没有函数输出,而是奇怪的运算符scanf()     printf()
    2. 实际上cin他们是一个类的对象

       干脆禁止拷贝,因为要管理缓冲区,防止冲突

    3. <<移位有左结合性,所以具体应该是(cout<<a)<<b    前面应该返回一个cout
    4. 细度

       第一个参数是ostream 对象,因为禁止拷贝赋值,所以应该用它的引用;右侧是一个point对象,因为我们不会改变它所以合情合理的我们应该加上const,使用它的引用。

    5. 显示的向布尔转化,并不需要特殊的说明
    6. 输入流可能有一个发生错误的地方,读入数据的格式不正确。但是它不报错,此时可以直接在重载里处理

    7. 必须用引用,否则就和你创建的对象没啥关系了

    8. 因为函数多次用到,比较小,可以用内联 

  2. string库重载了+和【】
    1.   提供了两个string或者一个C风格双引号内,一个string单引号相合并
    2. getline

       想读一行,将这一行内容存在一个字符串里。遇到换行符就终止,加入进来舍去  。典型错误:读了一个数字,有一个换行符,在用getline直接读了个空,解决措施getline。ignore或者用两次getline

    3.  对象infile可以直接用字符串调用,也可以用open方法

    4. 其实和cin对象一模一样的
    5. 读取文件操作

    6. 文件模式  打开一个文件不是覆盖掉它,如果没有新建一个

       文件模式可以组合使用,||或就可以

  3. 字符串流stringstream
    1.   相当于给输入又做了一层缓冲
    2. 字符串的构造

    3. 字符串操作

       一言以蔽之,运算符的左结合性

    4. 总是考虑复合运算符

       效率有显著差别,一个类似push_back追加上去容器,一个需要两次拷贝

    5. 容器大小

       所有容器除了forwardlist都有size,只有string有length

    6. for语句

       用s字符串从0开始一个一个初始化C,所以必须加&

  4. vector
    1.   vector原来是模板类!vector《int》原来才是真正的类型
    2. 构造

       其他构造方式

       败笔混淆

    3. vector和string类似

       因为你不知道是连接还是对应值相加

       下标越界!不会检查但还是有at

    4. 基于范围的for语句

  5. C++也有自己的迭代器了!
    1.   it和其他语言类似Kolin
    2. it是迭代器里的值引用,重载了*运算符以便于修改

       迭代器的尾是最后一个元素的下一个,构成了一个左闭右开区间,这样写有许多好处 :比如end-begin就是迭代的长度,end永远小于begin,如果相等那么就是空的

    3. 尾后迭代器不能戒应用,因为它不指向是实际的元素,他只是指向最后一个元素的下一个位置
    4.  操作

    5. 基于范围的for语句实现借助于迭代器
      1.   什么东西可以放在后面,有begin和and,支持++。可以解引用
      2. 为什么用前置加++,因为后置加会赋值一次,我不用加之前的值就不需要后置浪费时间,所以迭代器都是前置加加
      3. 你可以为auto加const 复合使用
    6.   auto是一种自信

       

       底层const类型的迭代器 用cbegin就可以

    7.  

       为甚用!=而不是<,因为不是所有容器所有迭代器都提供<但是一定都有!=

       

标签:string,迭代,一个,运算符,vector,IO,字符串
From: https://www.cnblogs.com/lvshy/p/17407925.html

相关文章

  • Putty连接虚拟机(在win11中安装的ubuntu20.04)提示: Network error: Connection refus
    #开启防火墙sudoufwenable#开启22号端口sudoufwallow22#重启防火墙sudoufwreload#查看状态sudoufwstatus#安装sshsudoaptinstallopenssh-server#尝试能否远程登录sshlocalhost......
  • 什么是cookies,session,token(面试必问)
    前言一般在面试的时候,经常会遇到关于什么是cookies,session,token,大多数面试官可以通过这几个概念基本上了解到你对接口请求方面是否存在了解或者工作中掌握的熟练程度,看似很小的问题,但是背后缺藏着大大的阴谋,今天跟着小编一起来了解下到底什么是cookies,session,token。http无状态......
  • SpringBoot项目预加载数据——ApplicationRunner、CommandLineRunner、InitializingBe
    0、参考、业务需求参考:https://www.cnblogs.com/java-chen-hao/p/11835120.html#_label1https://zhuanlan.zhihu.com/p/541268993业务需求:缓存数据字典数据、初始化线程池、提前加载好加密证书1、方式实现ApplicationRunner接口实现CommandLineRunner接口实现In......
  • 华普物联HP-IOCAT-088 CAT1/4G网络IO控制器
    产品概述HP-0CAT-088CAT.1/4G网络10控制器,实现数字信号以及RS485设备数据的采集并通过CAT.1/4G网络进行远程管理控制;支持8路继电器输出、8路输入,支持50CKET连接远程服务器,支持主动上报功能;遵循华普云主动上报协议;支持两种工作模式:主机模式、从机模式,主机模式支持RS485级联......
  • 记录一次全局异常告警@ExceptionHandler和HandlerExceptionResolver的问题
         最近有同事说之前写的全局异常告警,如果有@Valid的注解,在接入新写的插件告警后,返回信息不打印了。全局异常是基于@ExceptionHandler的全局异常类,主要是ServletMVC的ModelAndView返回的错误信息的捕获。代码如下:   /***@authorxxx*/@RestControlle......
  • Leetcode-Easy 806. Number of Lines To Write String
    题目描述给一个字符串S,从左到右将它们排列行,每行最大长度为100,,同时给定一个数组withds,widths[0]对应着a的宽度,widths[1]对应着b的宽度,...,widths[25]对应着z的宽度。求:至少需要多少行以及最后一行的长度下面是一个实例:Example:Input:widths=[10,10,10,10,10,10,1......
  • 高吞吐高并发Java NIO服务的架构(NIO架构及应用之一)
    JavaNIO成功的应用在了各种分布式、即时通信和中间件Java系统中。证明了基于NIO构建的通信基础,是一种高效,且扩展性很强的通信架构。基于Reactor模式的高可扩展性架构这个架构的基本思路在“基于高可用性NIO服务器架构”(http://today.java.net/pub/a/today/2007/02/13/architectur......
  • springboot中使用application.properties配置mysql和sqlserver
    1.使用依赖*mysql:<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>*sqlserver:<dependency><groupId>com.microsoft.sqlserver</groupId><art......
  • Understanding Structural Vulnerability in Graph Convolutional Networks
    目录概符号说明本文的方法代码ChenL.,LiJ.,PengQ.,LiuY.,ZhengZ.andYangC.Understandingstructuralvulnerabilityingraphconvolutionalnetworks.IJCAI,2021.概mean是在GCN中是一种常见的aggregation方式,但是作者认为这种方式是不鲁棒的,很容易......
  • AtCoder Beginner Contest 200 F Minflip Summation
    洛谷传送门AtCoder传送门显然的策略:选择全部\(0\)段变成\(1\),或选择全部\(1\)段变成\(0\)。归纳可得一般性的结论:设字符串中\(s_i\nes_{i+1}\)的位置数为\(k\),答案为\(\left\lceil\frac{k}{2}\right\rceil\)。因为在模意义下不能上取整,考虑记\(k\)的奇偶性(这样......