string类构造函数与析构函数构造函数

构造函数作用
string s构造一个空字符串
string s(s1)生成一个和s1相同的空字符串s
string s(s1,5)将s1[5]以后的部分作为s的初始部分
string s(s1,5,5)将始于s1[5],长度为5的部分作为s的初始值
string s(cstr)以C_string类型的cstr作为字符串s的初始值
string s(sctr,char_len)以C_string类型的cstr的前char_len个字符作为字符串s的初始值
string s(num,c)将num个c字符作为s的初始值
string s(s1.begin()+1,s1.begin()+6)将区间s1[1] -s1[6]之间的字符作为字符串s的初始值

析构函数

~string()   //销毁所有内存,释放内存

C_string与string的转换

C_string一般被认为是常规的C++字符串。

在C++中,从const char *到string转换时,存在一个隐式型别转换,却不存在能从string转换为C_string的隐式型别转换,可以通过c_str()函数返回string类对象对应的C_string。

因此,在编写程序时,整段程序都应坚持使用string类对象,直到需要将类型转换为char *时才将其转换为C_string。