int main(){ //string s(1); error string不支持单个容器长度作为参数的构造函数
string s; //创建string对象时不提供任何参数得到空string
string a(3,'a'); cout<<a<<endl; //aaa
string b(a.begin (),a.end());//将新对象初始化为另一个对象的副本 cout<<b<<endl; //aaa
char *p="welcome"; string c(p); //用p所指向的(以NULL结束)C风格字符串初始化 cout<<c<<endl; //welcome
char q[]={'a','b','c'}; /* string c2(q); 没有以null结束,无法检测到的严重错误 cout<<c2<<endl; */
string d(q,q+3); //指向数组的指针和一个计数器作为构造函数参数(不必以空字符结束) //数组作为参数传递,自动转换为指向数组的第一个元素 cout<<d<<endl;//abc
//用一个string对象初始化另一个string对象 string e="hello"; string f(e,1,2); //起点和个数 cout<<f<<endl;//el 最多只能复制与e长度相等的字符
system ("pause");
}