Appearance
初始化
cpp
// 定义一个字符串变量并初始化,实际上也是 = 操作符的重载
string s1 = "hello world";
// 定义一个字符串,使用另一个字符串进行初始化
string s2 = s1;
string s5 = s1 + " " + s2; // CPP 中 + 运算符被重载为连接
// 定义一个字符串变量,使用另一个字符串变量初始化
string s3(s2);string & char *
string无法使用<cstring>中的strcpy()等的函数,因为 C 语言中字符串的类型是char *,而 CPP 中已经是一个类的对象了,还包含其他元素。
转换:
- 操作符:
string s1 = (char *)s,相当于s1.operator=(s),只能从 C 转换到 CPP,反之不行; s1.c_str():返回 s1 对象中字符串内容的起始指针,相当于其中的 C 字符串s1.data():返回内容的指针,效果与上面一个函数相当
常用函数
string实现了很多操作符的重载=,==,>,<,[]这些可以直接使用at(size_type n)返回下标字符,会进行边界检查,[]不会,例如s1.at(10) = 'H'size_type size()返回字符串长度,不包含\0,类似 C 的strlenbool empty()字符串是否为空,返回布尔值void clear()清空字符串- 更多:std::basic_string