string类构造函数与析构函数
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。