basic_string Class

由模板类 basic_string 的对象的序列是标准 C++ 字符串类,并通常被称为字符串,但它们不应混淆的以空值终止 C-字符串中使用 C++ 标准库。 String 类是一个容器,可以将字符串的用作普通类型,如使用比较和串联运算、 迭代器和 STL 算法和复制,与类分配器分配托管内存。

template <
   class CharType,
   class Traits=char_traits<CharType>, 
   class Allocator=allocator<CharType> 
>
class basic_string

参数

  • CharType
    单个字符在字符串中存储的数据类型。 标准 C++ 库提供了两个专用化的类型定义与此模板类的字符串,类型的元素的char,和 wstring,类型的元素的wchar_t。

  • Traits
    重要的各种属性的 CharType basic_string 专用化中的元素 (详见类特性

  • Allocator
    表示存储分配器对象封装有关字符串的分配和解除分配内存的详细信息的类型。 默认值是分配器*<Type>。*

很多成员函数需要一个元素的序列,操作数。 您可以指定此类操作数序列几种方法。

元素

说明

_Ch

一个元素与字符值_Ch。

_Count, _Ch

重复的_Count元素每个值与 _Ch。

_Ptr

以空值终止序列,如 C 字符串,与 CharType 类型的char的位置处开始, _Ptr (其中不能空指针),其中结束的元素是值value_type并不是操作数序列的一部分。

_Ptr _Count

一系列的_Count元素,从 1 开始_Ptr。

_Str

指定由一个 basic_string 对象的规则。

_Str、 _Off、 _Count

Basic_string 对象的子字符串_Str使用最多_Count元素 (或字符串的末尾,通过哪一个在先) 从位置开始 _Off。

_First _Last

迭代器由分隔的元素的序列_First和_Last,区域中 [_First、 _Last),这可能会重叠受正在调用的成员函数的字符串对象的序列。

如果一个位置参数 (如_Off) 是在调用字符串的末尾之外basic_string成员函数,该函数将报告通过引发类型的对象超出范围错误 out_of_range 类

如果要求函数生成一个序列的长度超过 max_size 元素,该函数通过引发类型的对象来报告长度错误 length_error 类

引用、 指针和迭代器指定受控序列的元素,可能会变为无效或非第一次调用任何改变受控的序列中,该函数调用之后-const 成员函数。

syxtdd4f.collapse_all(zh-cn,VS.110).gif构造函数

basic_string

构造一个字符串,它为空或已由特定字符的所有副本或某些其他对象的字符串的一部分进行初始化或 C 字符串。

syxtdd4f.collapse_all(zh-cn,VS.110).gifTypedef

allocator_type

一个类型,表示allocator字符串对象的类。

const_iterator

一种类型提供了一个随机访问迭代器,可以访问和读取const在字符串中的元素。

const_pointer

提供链接指向的类型const在一个字符串中的元素。

const_reference

提供对引用类型const元素存储在一个字符串,用于读取和执行const操作。

const_reverse_iterator

提供了一个随机访问迭代器可以将这些类型读取任何const在字符串中的元素。

difference_type

提供指向相同的字符串中的元素的两个迭代器之间的差异的类型。

迭代器

它提供了一个随机访问迭代器,可以读取或修改一个字符串中的任何元素的类型。

npos

无符号整数值初始化为 – 1,指示任何一个"未找到"或"所有剩余的字符"当搜索功能无法正常工作。

pointer

提供链接指向的字符串或字符数组中的某个字符元素的类型。

引用

它提供了对存储在一个字符串元素的引用类型。

reverse_iterator

它提供了一个随机访问迭代器,可以读取或修改已冲销的字符串中的元素的类型。

size_type

字符串中的元素的数量无符号整数类型。

traits_type

对于字符特性存储在一个字符串中的元素的类型。

value_type

表示存储在一个字符串中字符的类型的类型。

syxtdd4f.collapse_all(zh-cn,VS.110).gif成员函数

append

将字符添加到字符串的末尾。

assign

新的字符值为字符串的内容。

at

返回字符串中的指定位置处的元素的引用。

back

begin

返回迭代器解决在字符串中的第一个元素。

c_str

将字符串的内容转换为 C 样式空终止字符串。

capacity

返回最大数量的元素,而无需增加内存分配的字符串可以用存储在一个字符串。

cbegin

返回字符串中的第一个元素的寻址 const 迭代器。

cend

返回 const 的迭代器,用来解决成功字符串中的最后一个元素的位置。

clear

删除字符串的所有元素。

compare

将用指定的字符串以确定是否两个字符串是否相等,或者如果其中一个字典小于另一个字符串进行比较。

copy

最多指定的数量的字符从复制源字符串中的索引位置为目标的字符数组。 已否决。 请改用 basic_string::_Copy_s

crbegin

返回用于解决已冲销的字符串中的第一个元素的 const 迭代器。

crend

返回 const 的迭代器,用来解决成功反转字符串中的最后一个元素的位置。

_Copy_s

最多指定的数量的字符从复制源字符串中的索引位置为目标的字符数组。

data

转换为字符数组的字符串的内容。

empty

测试是否该字符串包含的字符。

end

返回一个迭代器,解决了成功字符串中的最后一个元素的位置。

擦除

从指定位置字符串中移除元素或某个范围的元素。

find

与指定的字符序列匹配的子字符串的第一个匹配项的向前搜索字符串。

find_first_not_of

搜索不指定任何的字符串元素的第一个字符的字符串。

find_first_of

搜索与指定任何的字符串元素相匹配的第一个字符的字符串。

find_last_not_of

搜索的最后一个字符不是指定任何的字符串元素的字符串。

find_last_of

搜索指定字符串中的一个元素的最后一个字符的字符串。

front

返回字符串中的第一个元素的引用。

get_allocator

返回一份allocator用来构造字符串对象。

插入

将某个元素的数目或某个范围的元素插入到指定位置的字符串。

length

返回字符串中的元素的当前数目。

max_size

返回一个字符串中可能包含的字符的最大数量。

pop_back

清除该字符串的最后一个元素。

push_back

该字符串的末尾添加一个元素。

rbegin

已冲销的字符串中的第一个元素中返回迭代器。

rend

返回已冲销的字符串中的迭代器高级的最后一个元素的点。

replace

替换指定的字符或从其他区域或字符串或 C 字符串复制的字符在字符串中位于指定位置处的元素。

reserve

设置为数字的字符串的容量至少为指定的数字为好。

resize

指定新字符串,附加或清除所需的元素的大小。

rfind

向后方向中的首次出现的与指定的字符序列匹配的子字符串搜索字符串。

shrink_to_fit

将丢弃多余的字符串的容量。

size

返回字符串中的元素的当前数目。

substr

从指定位置的字符串开头的复制的子字符串的最大字符数。

换用

交换两个字符串的内容。

syxtdd4f.collapse_all(zh-cn,VS.110).gif运算符

运算符 + =

将字符追加到一个字符串中。

operator=

新的字符值为字符串的内容。

operator[]

提供在字符串中的指定索引的引用的字符。

要求

标题: <string>

命名空间: 标准

请参见

参考

线程安全性对标准C++库中

其他资源

basic_string 的成员

string 成员