前言
string
声明一个字符串变量很简单:
string Str;
这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。String类的构造函数和析构函数如下:
a) string s; //生成一个空字符串s
b) string s(str) //拷贝构造函数 生成str的复制品
c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值
d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值
e) string s(cstr) //将C字符串作为s的初值
f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
g) string s(num,c) //生成一个字符串,包含num个c字符
h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值
i) s.~string() //销毁所有字符,释放内存
s.substr();//返回s的全部内容
s.substr(11);//从索引11往后的子串
s.substr(5,6);//从索引5开始6个字符
to_string
将整数转换为字符串表示形式
inline string to_string(int __val)
inline string to_string(unsigned __val)
inline string to_string(long __val)
inline string to_string(unsigned long __val)
inline string to_string(long long __val)
inline string to_string(unsigned long long __val)
inline string to_string(float __val)
inline string to_string(double __val)
inline string to_string(long double __val)
stoi
inline int stoi(const string& __str, size_t* __idx = 0, int __base = 10)
long stol()
标准库名和头文件
<cstdlib>
abort, free
<numeric>
accumulate
<memory>
allocator, auto_ptr
<array>
array
<new>
bad_alloc, nothrow, nothrow_t
<iterator>
begin, end, inserter
<functional>
bind
<algorithm>
copy, count, fill, fill_n, find…
<deque>
deque
<stdexcept>
out_of_range
<cstddef>
ptrdiff_t
<string>
stoi
<cstring>
strcmp, strcpy, strlen, strncpy
泛型算法
find
template <class InputIterator, class T>
InputIterator find(InputIterator first, InputIterator last, const T& value)
{
while(first != last && value != *first)
++first;
return first;
}
count(beg, end, val)
count_if(beg, end unaryPred)
for_each(beg, end, unaryOp)
accumulate(first, last, c)
max(a, b)
min(a, b)
reverse(first, last)
sort(first, last)
fill(beg, end, val)
fill_n(dest, cnt, val)
copy(beg, end, dest)
copy_n(beg, n, dest)
总结
分类:
- 非修改式序列操作;
- find, for_each
- 修改式序列操作;
- transform, random_shuffle, copy
- 排序和相关操作;
- sort
- 通用数字运算。
- accumulate
前三种头文件为<algorithm>
,第四组为numeric