string类构造函数与析构函数

发布时间 2023-10-15 14:09:59作者: 一只傲娇璇

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。