C++中string类的使用

字符串类

字符串是表示字符序列的对象。标准字符串类为此类对象提供支持,其界面类似于标准字节容器,但添加了专门设计用于使用单字节字符串操作的功能。
字符类是basic_string类模板的实例化,该模板使用字符(即字节)作为字符类型,其默认char_traits和分配器类型。
请注意,此类处理字节独立于所使用的编码:如果用于处理多字节或可变长度字符(如 UTF-8)的序列,该类的所有成员(如长度或大小)及其迭代器仍将以字节(不是实际编码字符)操作。


basic_string类

template < class charT,
           class traits = char_traits<charT>,    // basic_string::traits_type
           class Alloc = allocator<charT>        // basic_string::allocator_type
           > class basic_string;

模板参数:

charT:字符类型。字符串由此类型的字符序列形成。这应为非阵列POD 类型
traits:定义basic_string对象使用的字符的基本属性的字符特征类(见char_traits)。char_type应与字符相同。别名为成员类型basic_string::traits_type
Alloc:用于定义存储分配模型的分配对象的类型。默认情况下,使用分配器类模板,该模板定义了最简单的内存分配模型,并且与值无关。别名为成员类型basic_string::allocator_type。


string类

成员类型:
成员类型定义
value_type字符
traits_typechar_traits
allocator_type分配器
reference字符型引用
const_reference字符型引用常数
pointer字符型指针
const_pointer字符型指针常数
iterator可随机访问字符的迭代器(可以转化为const_iterator)
const_iterator可随机访问字符常数的迭代器
reverse_iterator反向迭代器
const_reverse_iterator常量反向迭代器
difference_typeptrdiff_t(一种能够表示任何有效指点减法操作结果的类型)
size_typesize_t(一种能够代表字节中任何对象大小的类型)
成员函数:
(constructor)构造字符串对象
(destructor)字符串销毁器
operator=字符串分配
  • 迭代器:
begin返回指向开始的迭代器
end返回指向结束的迭代器
rbegin返回指向反向开始的反向迭代器
rend返回指向反向结束的反向迭代器
cbegin返回指向开始的迭代器常量(C++11)
cend返回指向结束的迭代器常量(C++11)
crbegin返回指向反向开始的反向迭代器常量(C++11)
crend返回指向反向开始的反向迭代器常量(C++11)
  • 容量:
size返回字符串长度
length返回字符串长度
max_size返回字符串的最大大小
resize调整字符串
capacity分配存储的返回大小
reserve请求更改容量
clear清除字符串
empty测试字符串是否为空
shrink_to _fit收缩以适应
  • 元素访问:
operator[]获取字符串
at获取字符串
back访问最后一个字符(C++11)
front访问第一个字符(C++11)
  • 修改器:
operator+=附加字符串
append附加字符串
push_back附加字符到字符
assign将内容分配给字符串
insert插入字符串
erase从字符串中删除字符
replace替换字符串的一部分
swap交换字符串值
pop_back删除最后一个字符(C++11)
  • 字符串操作:
c_str获取 C 字符串等效字符串
data获取字符串数据
get_allocate获取分配器
copy从字符串复制字符序列
find查找字符串中的内容
rfind查找字符串中最后出现的内容
find_first_of查找字符串中的字符
find_last_of从末尾查找字符串
find_first_not_of查找字符串中缺少字符
find_last_not_of从末尾查找字符串中的非匹配字符
substr生成子串
compare比较字符串
  • 成员常数

     npos:size_t的最大值(公共静态成员)
    
  • 非成员函数重载

operator+连接字符串
relational operators字符串的关系操作员
swap交换两个字符串的值
operator>>从流中提取字符串
operator<<将字符串插入流
getline从流到字符串获取一行

有关string类basic_string类更加详细的信息请点击前往。如有不足,还请指正。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值