您的位置:首页 > 编程语言 > C语言/C++

C++ 串

2016-04-15 12:40 316 查看
♣ string 的基类basic_string中没有虚函数,它无意成为基类。更像是为了处理字符相关的问题而专门提供的一个工具及操作方法。如:想要在一个字符串str1中查找str2,没必要每次都去写KMP算法,开源的口号就是不要重复发明轮子,利用string中的find()操作即可。笔者遇到碰到过的问题中就有类似问题:给定两棵树,要求判断tree2是不是tree1的子结构。序列化之后就可以用如下语句:

if(string::npos!=str1.find(str2))
return true;

♣ 它继承了c风格字符串(\0 结束)和操作,封装出来的对象更贴近用户,和vector一样是很好用的工具,所以觉得有必要整理一下。

1.元素访问

--[] :

--at(): 带访问检查(会抛出out_of_range异常)

--迭代器:

指针与数组的关系对string并不成立。string s, &s[0] 与 s 并不等。

2.初始化与赋值

--不能用字符和整数来初始化字符串;

但是字符可以赋值

string s = 'a'; X string s; s = 'a';√

3.到c风格的转换

利用c_str()产生c风格字符串,注意传中的0字符

4.拼接:+

5.插入:

--+=

---append

--insert

6.查找:find及其变种,返回值类型为size_type,没有找到返回npos;

7.替换:replace(可替换可删除),erase

8.子串substr():
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: