STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。在c++标准中,stl被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、
<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。
C++ STL标准模板库类String成员详细列表及参考如下:
Constructors:构造函数,用于C++ STL String字符串初始化.
Operators:操作符,用于C++ STL String字符串比较和赋值.
append():在String字符串的末尾添加文本.
assign():为字符串赋新值.
at(): 按给定索引值返回字符.
begin():返回一个迭代器,指向C++ STL String第一个字符.
c_str():将字符串以C字符数组的形式返回.
capacity():返回重新分配空间前的字符容量.
compare():比较两个C++ STL String字符串.
copy(): 将内容复制为一个字符数组.
data(): 返回内容的字符数组形式.
empty():如果字符串为空,返回真.
end(): 返回一个迭代器,指向C++ STL String字符串的末尾。(最后一个字符的下一个位置)
erase():删除字符.
find(): 在C++ STL String字符串中查找字符.
find_first_of():查找第一个与value中的某值相等的字符.
find_first_not_of():查找第一个与value中的所有值都不相等的字符.
find_last_of():查找最后一个与value中的某值相等的字符.
find_last_not_of():查找最后一个与value中的所有值都不相等的字符.
get_allocator():返回配置器.
insert():插入字符.
length():返回C++ STL String字符串的长度.
max_size():返回字符的最大可能个数.
rbegin():返回一个逆向迭代器,指向C++ STL String的最后一个字符.
rend(): 返回一个逆向迭代器,指向第一个元素的前一个位置.
replace():替换C++ STL String中的字符.
reserve():保留一定容量以容纳字符串(设置capacity值).
resize():重新设置C++ STL String字符串的大小.
rfind():查找C++ STL String中最后一个与value相等的字符(逆向查找).
size(): 返回C++ STL String字符串中字符的数量.
substr():返回某个子字符串.
swap(): 交换两个C++ STL String字符串的内容 .
C++ STL标准模板库类String用法代码片段举例
1. C++ STL String的rfind()用法示例
int loc;
string s = "My cat's breath smells like cat food.";
loc = s.rfind( "breath", 8 );
cout << "The word breath is at index " << loc << endl;
loc = s.rfind( "breath", 20 );
cout << "The word breath is at index " << loc << endl;
2.C++ STL String的substr( )方法代码举例
string s("What we have here is a failure to communicate");
string sub = s.substr(21);
cout << "The original string is " << s << endl;
cout << "The substring is " << sub << endl;
显示:
The original string is What we have here is a failure to
iis7站长之家
The substring is a failure to communicate