STL学习网址:
STL(标准模板库),是目前C++内置支持的library。它的底层利用了C++类模板和函数模板的机制,由三大部分组成:容器、算法和迭代器。
目前STL有六大组件
- 容器 container
- 算法 algorthm
- 迭代器 iterator
- 仿函数 function object
- 适配器 adaptor
- 空间配置器 allocator
STL中的string
string
是STL的字符串类型,在C语言中,我们通常用char *
或者char[]
字符数组来表示字符串。C++的string
和C语言的char *
有什么区别呢?
string
是一个类,char *
是指向字符的指针string
封装了char *
,管理这个字符串,是一个char *
类型的容器string
不用考虑内存释放和数组越界string
提供了一些列的字符串操作函数
字符串的初始化
int main(int argc, char* argv[])
{
string s1 = "How are you?";
string s2(s1.begin(), s1.end());
string s3(s1.begin()+4,s1.begin()+7);
return 0;
}
字符串的遍历
字符串的遍历,有三种遍历的方式
- 数组方式遍历,通过[]操作符遍历 (不会抛出异常)
- at()方法遍历,根据index取值 (会抛出异常)
- 通过STL迭代器遍历
int main(int argc, const char * argv[]) {