「C++」string 成员函数
简述:C++ 类 string
1 string简介
<string>
是C++
标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string
及相关的模板类实例,这里不进行详细介绍。详细可查看相关 wiki百科 ,以及 cplusplus 。
其中的string
是以char
作为模板参数的模板类实例,把字符串的内存管理责任由string负责
而不是由用户负责,大大减轻了C
语言风格的字符串的麻烦。
std::basic_string
提供了大量的字符串操作函数,如比较、连接、搜索、替换、获得子串等。并可与C
语言风格字符串双向转换。std::basic_string
属于C++ STL
容器类,用户自定义的类也可以作为它的模板参数,因此也适用C++ STL Algorithm
库。
2 声明变量
1 | ...... |
3 成员函数
- 构造与析构
string::string
(构造)string::~string
(析构)string::operator =
- 赋值string::assign
– 赋值string::get_allocator
– 获得内存分配器
- 字符访问
string::at
– 访问特定字符,带边界检查string::operator []
– 访问特定字符string::front
– 访问第一个字符string::back
– 访问最后一个字符string::data
– 访问基础数组,C++11
后与c_str()
完全相同string::c_str
– 返回对应于字符串内容的C
风格零结尾的只读字符串string::substr
– 以子串构造一个新串;参数为空时取全部源串
- 迭代器
string::begin
– 获得指向开始位置的迭代器string::end
– 获得指向末尾的迭代器string::rbegin
– 获得指向末尾的逆向迭代器string::rend
– 获得指向开始位置的逆向迭代器string::cbegin
– 获得指向开始位置的只读迭代器string::cend
– 获得指向末尾的只读迭代器string::crbegin
– 获得指向末尾的逆向只读迭代器string::crend
– 获得指向开始位置的逆向只读迭代器
- 容量
string::empty
– 检查是否为空string::size
– 返回数据的字符长度string::length
– 返回数据的字符长度,与size()
完全相同string::max_size
– 返回可存储的最大的字节容量,在32位Windows
上大概为 43 亿字节。string::reserve
– 改变string
的字符存储容量,实际获得的存储容量不小于reserve
的参数值。string::capacity
– 返回当前的字符存储容量string::shrink_to_fit(C++11 新增)
– 降低内存容量到刚好
- 修改器
string::clear
– 清空内容string::insert
– 插入字符或字符串。目标string
中的插入位置可用整数值或迭代器表示。如果参数仅为一个迭代器,则在其所指位置插入0 值。string::erase
– 删除 1 个或 1 段字符string::push_back
– 追加 1 个字符string::pop_back
– 删除最后 1 个字符,C++11
标准引入string::append
– 追加字符或字符串string::operator+=
– 追加,只有一个参数——字符指针、字符或字符串;不像append()
一样可以追加参数的子串或若干相同字符string::copy
– 拷贝出一段字符到C
风格字符数组;有溢出危险string::resize
– 改变(增加或减少)字符串长度;如果增加了字符串长度,新字符缺省为0
值string::swap
– 与另一个string
交换内容string::replace
– 替换子串;如果替换源数据与被替换数据的长度不等,则结果字符串的长度发生改变
- 搜索
string::find
– 前向搜索特定子串的第一次出现string::rfind
– 从尾部开始,后向搜索特定子串的第一次出现string::find_first_of
– 搜索指定字符集合中任意字符在*this
中的第一次出现string::find_last_of
– 搜索指定字符集合中任意字符在*this
中的最后一次出现string::find_first_not_of
–*this
中的不属于指定字符集合的首个字符string::find_last_not_of
–*this
中的不属于指定字符集合的末个字符string::compare
– 与参数字符串比较
- 常量值
string::npos
– 表示“未找到”,值为static const unsigned -1
- 非成员的有关的全局函数
std::operator+
– 字符串连接std::operator!=
– 不等比较std::operator==
– 相等比较std::operator<
– 小于比较std::operator<=
– 小于等于比较std::operator>
– 大于比较std::operator>=
– 大于等于比较std::operator<<
– 字符串内容写到输出流中std::operator>>
– 从输入流中读取一个字符串std::getline
– 从istream
中读入一行或一段字符到string
中std::swap
– 交换两个string
的内容。是std::swap
算法针对std::basic_string
的特化版本std::stoi
– 字符串转为整形std::stol
– 字符串转为长整形std::stoll
– 字符串转为长长整形std::stoul
– 字符串转为无符号长整形std::stoull
– 字符串转为无符号长长整形std::stof
– 字符串转为单精度浮点形std::stod
– 字符串转为双精度浮点形std::stold
– 字符串转为长双精度浮点形std::to_string
– 整型、无符号整型、浮点型转化为string
std::to_wstring
– 整型、无符号整型、浮点型转化为wstring
std::hash<std::string>
– 计算hash
值std::hash<std::wstring>
– 计算hash
值std::hash<std::u16string>
– 计算hash
值std::hash<std::u32string>
– 计算hash
值
以上!
「C++」string 成员函数