「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– 整型、无符号整型、浮点型转化为stringstd::to_wstring– 整型、无符号整型、浮点型转化为wstringstd::hash<std::string>– 计算hash值std::hash<std::wstring>– 计算hash值std::hash<std::u16string>– 计算hash值std::hash<std::u32string>– 计算hash值
以上!
「C++」string 成员函数