php网站底部文件,搜索引擎优化技术都有哪些,微信、网站提成方案点做,英语作文模板高中标准库类型string
标准库类型string表示可变长的字符序列#xff0c;使用#includestring引入头文件#xff0c;string定义在命名空间std中。
定义和初始化string对象
如何初始化类的对象是由类的本身决定的#xff0c;类可以定义很多初始化对象的方式#xff0c;…标准库类型string
标准库类型string表示可变长的字符序列使用#includestring引入头文件string定义在命名空间std中。
定义和初始化string对象
如何初始化类的对象是由类的本身决定的类可以定义很多初始化对象的方式但是这些方式之间必须有所不同不同体现在初始值的数量、类型。常用的初始化的例子
string s1; //空字符串
string s2(s1); //将s1作为s2的初始值
string s2 s1; //和上面的一致string s3(Value); //给s3赋value值
string s3 value; //和上面一致string s4(n,c); //s4 n个c
直接初始化和拷贝初始化 拷贝初始化将等号右侧的初始值拷贝到新创建的对象中去不使用等号则执行的是直接初始化
string对象上的操作
一个类除了要规定初始化其对象的方式外还要定义对象上所能执行的操作。类既可以定义通过函数名字调用的操作还可以定义、等各种运算符在此类的对象上的新的含义。
oss 将s写到输出流os中返回siss 从is中读取字符串赋值给s字符串以空白分割返回isgetline(is,s) 从is中读取一行赋值给s返回iss.empty() s为空返回true。否则返回falses.size() 返回s中的字符的个数s[n] 返回s中第n个字符的引用位置n从0开始计算s1s2 返回字符串s1和s2拼接的效果s1 s2 使用s2的副本代替s1中原来的字符s1 s2 如果s1和s2的字符完全一致则他们相等s1 ! s2、、、 按照字典顺序比较大小且大小写比较敏感
读写string对象
读取操作的时候string对象会自动忽略开头的空白空格符、换行符、指标符并从第一个真正的字符开始读起直到遇见下一处的空白为止。例如输入“ Hello ”接收的却是“Hello”输出的结果中没有空格。多个输入或者输出可以连写在一起。
读写未知数量的string对象
int main(int argc,char **argv){string word;while(cin word){cout word endl;}return 0;
}
使用getline读取一行
保留输入的时候的空白符号使用getline替代先前的运算符号getline只要一遇到换行符号就会结束读取操作并且返回结果即使一开始输入的就是换行符号那么返回的就是空字符串。
int main(int argc,char **argv){string word;while(getline(cin,word)){cout word endl;}return 0;
}
string的size操作
size函数返回的是一个string::size_type类型的值这是一个无符号类型的数值而且可以存放下任何string对象的大小。在C11中允许使用auto或者decltype来判断变量的类型。如果表达式已经有了size函数既不要使用int了可以避免混用int和unsigned可能带来的问题。
比较string对象
和!分别校验两个对象相等还是不相等。相等是指两个对象的长度和所蕴含的字符完全一致。 和先前的认知是一致的比较区分大小写按照字典序来比如果两个字符一短一长短的所有位数和长的先前位数是一致的那么小的小于长的如果在某些位置上面元素不一致以第一对相异字符比较结果作为整体比较结果。
两个string对象相加
这个 符号和Java是一样的默认是字符串的拼接如果将string对象、字符字面值和字符串字面值混在一起使用需要保障每一个加法运算符 的两侧的运算符对象至少有一个是string。string s1 Hello;string s2 World;string s3 s1 , s2 \n;string s4 s1 ,;string s5 Hello \n;//错误两个运算对象都不是stringstring s6 s1 , World;string s7 Hello , s2;//错误不能把字面值直接相加
处理string对象中的字符
引入cctype头文件就可以引入一些标准库函数来处理字符
isalnum(c)c是字母或者数字为真isalpha(c)c是字母为真iscntrl(c)c是控制字符为真isdigit(c)c是数字为真isgraph(c)c不是空格但是可以打印的时候为真islower(c)c是小写字母为真isprint(c)c可打印为真(c是空格或者c具有可见的形式)ispunct(c)c标点符号为真isspace(c)c空白为真issupper(c)c大写字母为真isxdigit(c)c是十六进制为真tolower(c)若c大写则转化为小写字母toupper(c)若c小写则转化为大写字母
C在兼容C语言的库去掉.h,在头文件的名字前面增加字母c即可。
使用for来处理每一个字符
将每一个字符改成小写
int main(int argc,char **argv){string s HELLO WORLD!!!;for(auto c : s) { //对于s中的每一个字符其中表示引用c tolower(c); //c是一个引用因此赋值语句将会改变c的数值}cout s endl;return 0;
} 处理特定位置的字符1使用下标2使用迭代器下标运算符号[] 接收的输入值是string::size_type类型的数值这个参数表示的是访问字符的位置返回的是该位置上字符的引用。字符对象的下标从0开始计算最大的下标是s[s.size()-1]
补充知识
decltype关键字用于查询表达式的类型详细的参考链接地址 https://blog.csdn.net/caoshangpa/article/details/79129258