C++语法
2021/5/18 20:57:01
本文主要是介绍C++语法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- C++
- String 类
- 头文件:
- String类的定义与初始化:
- String类函数
- String字符串的输入输出
- 访问字符串中的字符
- 字符串的拼接
- 字符串查找
- find()函数
- rfind()函数
- find_first_of()函数
- Set类
- algorithm
- max_element与min_element
- String 类
C++
String 类
头文件:
#include<string>
String类的定义与初始化:
#include<iostream> #include<string> using namespace std; int main(){ string s1;//变量s1只定义为初始化,编译器给默认值空字符串"" string s2 = "C Plus Plus";//s2在定义时同时被初始化为"C Plus Plus"。与C风格字符串不同,string的结尾没有结束标志'/0' string s3 = s2;//s3定义时使用s2进行初始化 string s4(5,'s');//s4被初始化为由5个's'组成的字符串"sssss" return 0; }
String类函数
函数名 | 解释 |
---|---|
length() | 计算字符串长度,返回字符串真实长度 |
c_str() | 将C++风格string转换位C风格字符串,返回字符串指针 |
insert(pos,str) | 在string字符串中指定的位置pos插入另一个字符串str. |
erase(pos,len) | 在string字符串中指定位置pos删除长度为len的子串。(len未指明则删除到末尾) |
substr(pos,len) | 在string字符串中提取从指定位置pos开始,长度为len的子串 |
String字符串的输入输出
string类重载了输入输出运算符,即在C++中可以使用输入输出流(<<, >>)进行输入输出.
访问字符串中的字符
string可以采用下标的方式进行访问,其起始下标依旧是从0开始的。
字符串的拼接
string类的拼接使用+或+=运算符来直接拼接字符串,不需要担心溢出问题。
使用+来拼接字符串,两侧可以都是string,也可以是一个string字符串,一个C风格字符串、string字符串和字符数组、string字符串和单独字符。
字符串查找
string类提供了如下几个与字符串查找有关的函数:
find()函数
find()函数用于在string字符串中查找子字符串出现的位置,有如下两种原型:
- find(str,pos)
- find(c,pos)
其中"str""c"表示待查找的子字符串或字符,"pos"表示开始查找的位置,若不指明,默认从第0个字符开始。
当找到子字符串,返回子字符串第一次出现在字符串中的起始下标,若没找到,则返回无穷大值(-1)。
rfind()函数
rfind()函数与find()函数类似,与之不同的是该函数从头开始进行查找,直到pos所指明的位置为止,查找到,返回子字符串第一次出现的起始下标,若没找到,返回无穷大值(-1)。
find_first_of()函数
find_first_of()用于查找子字符串和字符串共同具有的字符在字符串中首次出现的位置。
Set类
algorithm
max_element与min_element
该函数用于在数组或容器中寻找最大值或最小值,具体使用方法如下:
//数组 int position = max_element(a,a+n)-a; int data = *max_element(a,a+n); //容器 int position = max_element(v.begin(),v.end())-v.begin; int data = *max_element(v.begin(),v.end()); //string int position = max_element(s.begin(),s.end())-s.begin(); char data = *max_element(s.begin(),s.end());
若使用该函数检查的数组或容器有多个最值,该函数只返回第一次出现的位置。
这篇关于C++语法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享