首页 > 其他 > 详细

C ++中的std :: string类

时间:2020-12-22 22:15:54      阅读:30      评论:0      收藏:0      [点我收藏+]

C ++在其定义中具有一种将字符序列表示为class对象的方式。此类称为std ::字符串。字符串类将字符存储为字节序列,并具有允许访问单字节字符的功能。

std ::字符串与字符数组

字符数组只是可以用空字符终止的字符数组。字符串是一个类,用于定义表示为字符流的对象。

 

技术分享图片
 

字符数组的大小必须静态分配,如果需要,则无法在运行时分配更多内存。如果使用字符数组,则会浪费未使用的分配内存。如果是字符串,则动态分配内存。可以在运行时按需分配更多的内存。由于没有预分配内存,因此不会浪费内存。

如果是字符数组,则存在数组衰减的威胁。当字符串表示为对象时,不会发生数组衰减。

实现字符数组是快比的std :: string。与实现相比,字符串比字符数组要慢。

字符数组没有提供太多内置函数来操作字符串。字符串类定义了许多功能,这些功能允许对字符串进行多种操作。

字符串操作

输入功能

 

技术分享图片
 

1. getline():-此函数用于将用户输入的字符流存储在对象存储器中。

2. push_back():-此函数用于在字符串末尾输入字符。

3. pop_back():-从C ++ 11(用于字符串)引入,此函数用于删除字符串中的最后一个字符。

容量功能

4. Capacity():-此函数返回分配给字符串的容量,该容量可以等于或大于字符串的大小。分配了额外的空间,以便在将新字符添加到字符串时,可以高效地完成操作。

5. resize():-此函数更改字符串的大小,大小可以增加或减少。

6.length():-此函数查找字符串的长度

7.shrink_to_fit():-此函数减小字符串的容量,使其等于字符串的最小容量。如果我们确定不必再添加任何字符,则此操作对于节省额外的内存很有用。

迭代器功能

 

技术分享图片
 

8. begin():-此函数将迭代器返回到字符串的开头。

9.端() :-该函数返回一个迭代到结束的字符串。

10. rbegin():-此函数返回指向字符串末尾的反向迭代器。

11. rend():-此函数返回指向字符串开头的反向迭代器。

操作功能

12. copy(“ char array”,len,pos):-此函数将子字符串复制到其参数中提到的目标字符数组中。它需要3个参数,目标char数组,要复制的长度以及字符串中的开始位置才能开始复制。

13. swap():-此函数将一个字符串与另一个字符串交换。

C ++中的std :: string类

原文:https://www.cnblogs.com/zuishuaideou/p/14174820.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!