string s1; 默认构造函数,s1位空串
string s2(s1); 将s2初始化为s1的一个副本
string s3("value"); 将s3初始化为一个字符串字面值副本
string s4(n,‘c‘) 将s4初始化为字符‘c‘的n个副本
对于对象的操作
s.empty()如果s为空串,则返回true,否则返回false
s.size()返回s 中字符的字符个数
s[n]
返回s中位置为n的字符,位置从0开始计数
s1+s2把s1和s2链接成一个新的字符串,返回新生成的字符串
s1=s2把s1内容替换为s2的副本
v1==v2判断v1与v2的内容,相等则返回true,否则返回false
!=, <, <=, >, >=保持这些操作的惯有含义
s.size()返回的类型是string::size_type()类型,而不是int形,string::size_type 的类型长度是int的俩倍所以尽量让s.size()的返 回值给string::size_type 类型
#include<iostream> #include<string> #include<cstdio> using namespace std; int main() { string s("value"); string::size_type it; it=s.size(); cout<<it<<endl;//5 return 0; }
注意:除了一些特殊操作,string类型提供与vector容器相同的操作。string类型和vector容器不同的是,它不支持以栈方式操纵容器:在string类型中不能使用front,back,pop_back操作
string 是支持push_back()的,因为string也是顺序容器
String的遍历
1 #include<iostream> 2 #include<string> 3 #include<cstdio> 4 5 using namespace std; 6 int main() 7 { 8 string s("Hiya"); 9 string::iterator it; 10 for(it=s.begin();it!=s.end();++it) 11 cout<<*it<<endl; 12 for(int i=0;s[i];i++) 13 cout<<s[i]<<endl; 14 cout<<s<<endl; 15 return 0; 16 }
一会儿再更
原文:https://www.cnblogs.com/ranzhong/p/13605629.html