string的特性及使用

张开发
2026/4/10 4:29:12 15 分钟阅读

分享文章

string的特性及使用
string这个词很容易让我们联想到str也就是字符串实际上string和字符串的关联性还是很强的。很多字符串的题目都是string类的形式出现的日常工作中为了方便使用都是用的string类标准string类使用string类时必须加上#include头文件和using namespace std这里介绍一个关键字auto这个中C/C中使用auto修饰的变量具有自动存储器的局部变量C11中auto不再是一个存储类型的指示符而是作为一个新的类型指示符来指示编译器auto声明的变量必须由编译器在编译时期推导得到auto和auto*每区别使用auto声明引用类型时必须加上auto不可做为函数参数但是可以做返回值并且不能直接声明数组#includeiostreamusingnamespacestd;intfunc1(){return10;}voidfunc2(autoa){}// 可以做返回值但是建议谨慎使用autofunc3(){return3;}intmain(){inta10;autoba;autoca;autodfunc1();autoe;couttypeid(b).name()endl;couttypeid(c).name()endl;couttypeid(d).name()endl;intx10;autoyx;auto*zx;automx;couttypeid(x).name()endl;couttypeid(y).name()endl;couttypeid(z).name()endl;autoaa1,bb2;autocc3,dd4.0;autoarray[]{4,5,6};return0;}forfor循环后的括号和冒号分为两部分第一部分是范围内用于迭代的变量。第二部表示被迭代的范围。自动迭代自动取数据自动判断结束。#define_CRT_SECURE_NO_WARNINGS#includeiostream#includestring#includemapusingnamespacestd;intmain(){intarray[]{1,2,3,4,5};for(inti0;isizeof(array)/sizeof(array[0]);i){array[i]*2;}for(inti0;isizeof(array)/sizeof(array[0]);i){coutarray[i]endl;}for(autoe:array){e*2;}for(autoe:array){coute endl;}stringstr(hello world);for(autoch:str){coutch ;}coutendl;return0;}string-----构造空的string类对象即空字符串string(const char *s)--------用C-string来构造string类对象string(size_t n char c)---------string 类对象中包含n个字符string(const string s) -------拷贝构造函数voidTeststring(){string s1;// 构造空的string类对象s1strings2(hello bit);// 用C格式字符串构造string类对象s2strings3(s2);// 拷贝构造s3}size返回字符串有效字符长度length返回字符串有效字符长度capacity空间总大小empty检测字符串释放为空返回true/falseclear清空有效字符reverse为字符串预留空间resize将有效字符的个数改成n个多处的空间用c填充operator返回Pos 位置的字符const string类对象调用beginendbegin获取一个字符的迭代器end获取最后一个字符下一位置的迭代器rbeginrendbegin获取一个字符的迭代器end获取最后有一个字符位置的迭代器范围forc11支持更简洁的范围for的新遍历方式函数名称 功能说明push_back 在字符串后尾插字符cappend 在字符串后追加一个字符串operator 在字符串后追加字符串strc_str返回C格式字符串find npos 从字符串pos位置开始往后找字符c返回该字符在字符串中的位置rfind 从字符串pos位置开始往前找字符c返回该字符在字符串中的位置substr 在str中从pos位置开始截取n个字符然后将其返回

更多文章