C++ STL用法总结
最近在刷力扣题,觉得STL在做算法题时会节省很多时间,因此想系统性地整理一下STL的用法。
string成员函数
string的构造函数
string str:生成空字符串
string s(str):生成字符串为str的复制品
string s(str, strbegin,strlen):将字符串str中从下标strbegin开始、长度为strlen的部分作为字符串初值
string s(cstr, char_len):以C_string类型cstr的前char_len个字符串作为字符串s的初值
string s(num ,c):生成num个c字符的字符串
string s(str, stridx):将字符串str中从下标stridx开始到字符串结束的位置作为字符串初值
string的大小和容量
size()和length():均可返回string对象的字符个数
string的字符串比较
- C++字符串支持常见的比较操作符(>,>=,<,<=,==,!=),也支持string与常字符串的比较。(根据字典序比较)。还可以用+或者+=操作符连接两个字符串,并且可以用[]获取特定的字符。
- 另一个比较函数是成员函数compare()。该函数通过返回一个整数来表示比较结果:相等(0) 大于(1)小于 (-1)。
int compare(const basic_string &str); //比较两个字符串大小 int compare(const char *str); int compare(size_type index, size_type length, const basic_string &str); //s下标为index的字符开始的length个字符和str进行比较 int compare(size_type index, size_type length, const basic_string &str, size_type index2, size_type length2); //s下标为index的字符开始的length个字符和str下标为index2的字符开始的length2个字符比较 int compare(size_type index, size_type length, const char *str, size_type length2);
e.g. string s = "abandon"; string str ="about"; int res1 = s.compare(str); //输出-1 int res2 = s.compare(2,4,str); //输出1(ando和about比较) int res3 = s.compare(2,4,str,1,3); //输出-1(ando和bou比较)