1.1 定义和初始化string对象
string s1; 默认初始化,s1是一个空串。
string s2(s1); s2是s1的副本
string s2=s1; 等价于s2(s1)
string s3("value") s3是字面值"value"副本,除了字面值最后的那个空字符串
string s3="value"; 等价于s3("value"),s3是字面值"value"的副本
string s4(n,‘c‘) 初始化为连续n个字符c组成的串
string s5="hiya"; 拷贝初始化
string s6("hiya") 直接初始化
1.2 string 对象上的操作
os<<s 将s写道输出流os当中,返回os
is>>s 从is读取字符串赋给s,字符串以空白分隔
getline(is,s) 从is中读取一行赋给s,返回is
s.empty() 是为空返回true,负责false
s.size() 返回s中字符的个数
s[n] 返回s中第n个字符的引用,位置n从0记起
s1+s2 返回s1和s2连接后的结果
s1==s2 s1与s2所含字符完全一样,则他们相等
!= 不等于
< ,<=,>,>= 比较
1.3 读写string 对象,
1.31 string对象会自动忽略开头的空白,从第一个真正的字符读起,直到遇见下一处空白为止
1.32 使用getline读取一整行,得到的字符串保留输入的空白符,所读取的内容存到string 对象中,不存换行符
一次输入一整行,而不是每次输入一个词
1.33 s.size() 返回字符的个数
1.34 字符串的比较:
1.如果两个string 对象的长度不同,而且较短的string对象每个字符都与较长的string对象对应位置上的字符相同,较短的string 对象小于较长的string对象。
2.两个string对象在某些对应位置上不一致,则string对象比较的结果其实是string 对象中第一对相异字符的比较,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系(字符大小按照ASCII码值确定)
1.35 字面值和string 对象相加,必须保证每个加法运算符两侧的的运算对象至少有一个是string。
string s5="hello"+"," ; 错误,两个运算对象都不是string,不能将字面值直接相加。
原文:https://www.cnblogs.com/zsymdbk/p/13175103.html