首页 > 其他分享 >第三章 字符串、向量和数组

第三章 字符串、向量和数组

时间:2024-04-25 09:00:25浏览次数:22  
标签:10 第三章 迭代 int 数组 字符串 向量 指针

当用+连接string对象和字符串字面值的时候,必须确保有一个操作数是string对象。
头文件包含字符处理相关函数
使用范围for循环实际上是在使用迭代器循环,所以不能再循环里改变容易容量或执行让迭代器失效的操作。

数组的名字在很多情况下会转换成指针,auto会推导出指针,但是decltype还是能推导出数组。当用数值初始化数组引用的时候也能推导出数组。把数组名赋值给指针,参与指针运算,数组名都会转换成指向第一个数组元素的指针,这种情况下int a[10]的a体现出了int* const a的性质,数组不能直接通过赋值进行拷贝操作。数组的长度也是数据类型的一部分,所以不同长度但是元素类型相同的数组并不能进行引用操作。

指针也是迭代器,支持所有迭代器操作,而且下标的索引值可以是负数。如a[-1]等价于*(a-1)

标准库容器一般都搭配了begin()和end(),cbegin()和cend(),后者得到的是const迭代器,不能修改对象的值。可以使用begin(a)和end(a)获取数组a的迭代器,这也是数组能够支持范围for的原因。

几个处理c风格字符串的函数,strlen(p),strcmp,strcat,strcpy

string通过c_str()得到对应的c风格字符串

标准库容器一般都可以使用一对迭代器初始化,vector可以用数组初始化。

多维数组本质上是数组的数组。int a[10]和int (a)[10]是不一样的,后者是指向长度为10的数组的指针。

标签:10,第三章,迭代,int,数组,字符串,向量,指针
From: https://www.cnblogs.com/panzewen/p/18156806

相关文章

  • golang工具函数,把一个金额整型,单位为分,转成"1,231,111.00"格式的字符串
    这个函数首先将整数除以100来获取代表元的浮点数,然后格式化此数值为两位小数的字符串。接下来,函数将字符串分成整数和小数部分,并且为整数部分添加千位分隔符。最后,如果存在小数部分,它会将这两部分重新组合并返回正确格式化的金额字符串。为了正确地处理负数,我们需要先检查金额是......
  • P7114 [NOIP2020] 字符串匹配
    P7114[NOIP2020]字符串匹配看到循环部分\(AB\),自然想要去枚举它,并且用哈希。开始想到的是倍增+hash求出最长循环的右端点,复杂度是\(O(n\logn)\),结果不好写,没写出来。我们先思考找到右端点怎么计算贡献。最朴素的,我们再枚举前缀\(ABAB\cdotsAB\),容易预处理出后缀出现奇数......
  • HJ23 删除字符串中出现次数最少的字符
    利用list的排序来得到最小次数的字符,其中需要注意对map做深拷贝!卡了很久,因为不知道如何处理最小这一点publicclassMain{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);//注意hasNext和hasNextLine的区别......
  • delphi Unix时间戳 转yyyy-mm-dd hh:mm:ss 格式字符串
    functionUnixTimeStampToDateTimeStr(UnixTimeStamp:Int64):string;varDateTimeValue:TDateTime;begin//第二个参数默认为true,设置为false,会默认以本地时区来+8小时,因为mysql里村的utc时间秒数DateTimeValue:=UnixToDateTime(UnixTimeStampdiv1000,False......
  • 字符串基础:Hash,KMP,trie
    Hash把一个字符串映射成一个整数,可以方便的比较两个字符串是否相等,计算\(Hash\)值:\[\displaystyle\sum_{i=0}^{len-1}(s[i]\timesB^{len-1-i})(mod\;M)\]这里的\(B\)是任取的一个大小合适的数,\(M\)就是为了把算出来的值映射到\([0,M-1]\)的范围内,既然是\(mod\),......
  • 151. 反转字符串中的单词
    题目链接:151.反转字符串中的单词这题主要是熟悉java一些库的调用,先放代码:classSolution{publicStringreverseWords(Strings){s=s.trim();//去除两边多余空格List<String>list=Arrays.asList(s.split("\\s+"));//将字符串按空格切割Coll......
  • Python字符串过滤器:正则表达式Regular Expression
    一、什么是正则表达式正则表达式是按照正确的既定规则、一种全语言类型Python、Java、JavaScript、PHP通用的表达式。用途:(1)根据规则抓取数据:配合爬虫、根据规则在文本中提取数据(2)根据规则验证数据:验证手机号、验证邮箱、验证身份证二、如何在Python中使用正则表达式在Python......
  • Python中列表和字符串的反转
    一、Python现成的反转功能:在Python中有专门进行列表反转的函数--reverse()l=[13,30,42,85,9,45]l.reverse()#[45,9,85,42,30,13]还可以使用切片操作进行列表反转l=[13,30,42,85,9,45]print(l[::-1])#[45,9,85,42,30,13]关于字符串的反转,并没......
  • Python 字符串格式化指南
    前言在Python中,字符串格式化是一种常见且重要的操作,用于将变量或值插入到字符串中,并控制输出的格式。本文将介绍几种常见的字符串格式化方法,帮助大家掌握在Python中有效地处理字符串的技巧。方法一:使用%操作符格式化字符串使用%操作符是一种传统的字符串格式化方法,可......
  • python 基础习题2--字符串切片技术
    1. 有如下字符串str='123456789'字符串切片技术,例如,返回输出从第三个开始到第六个的字符(不包含)即得到:345利用字符串切片技术,代码可以这么写:print(str[2:5])如果想返回如下八行结果,利用字符串切片技术,如何编写代码?12345678912345678134534567892412345678912345678......