<string>
定义容器模板选件类 basic_string 和各种支持的模板。
有关 basic_string 的更多信息,请参见basic_string Class
namespace std {
template<class CharType>
class char_traits;
template<>
class char_traits<char>;
template<>
class char_traits<wchar_t>;
template<>
class char_traits<char16_t>;
template<>
class char_traits<char32_t>;
template<
class CharType,
class Traits = char_traits<CharType>,
class Allocator = allocator<CharType>
> class basic_string;
typedef basic_string<char> string;
typedef basic_string<wchar_t> wstring;
typedef basic_string<char16_t> u16string;
typedef basic_string<char32_t> u32string;
// NARROW FUNCTIONS
int stoi (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long stol (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long stoul (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long long stoll (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long long stoull (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
float stof (
const string& _Str,
size_t *_Idx = 0
);
double stod (
const string& _Str,
size_t *_Idx = 0
);
long double stold (
const string& _Str,
size_t *_Idx = 0
);
string to_string (long long _Val);
string to_string (unsigned long long _Val);
string to_string (long double _Val);
// WIDE FUNCTIONS
int stoi (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long stol (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long stoul (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long long stoll (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long long stoull (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
float stof (
const wstring& _Str,
size_t *_Idx = 0
);
double stod (
const wstring& _Str,
size_t *_Idx = 0
);
long double stold (
const wstring& _Str,
size_t *_Idx = 0
);
wstring to_wstring (long long _Val);
wstring to_wstring (unsigned long long _Val);
wstring to_wstring (long double _Val);
// TEMPLATE FUNCTIONS
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
CharType _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
CharType _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
CharType _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
CharType _Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator== (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator== (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator== (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator!= (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator!= (
const basic_string<CharType, Traits, Allocator>& left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator!= (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator< (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator< (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator< (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator>= (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator>= (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator>= (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator> (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator> (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator> (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator<= (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator<= (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator<= (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
void swap (
basic_string<CharType, Traits, Allocator>& _Left,
basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_ostream<CharType>& operator<< (
basic_ostream<CharType>& _OStream,
const basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType>& operator>> (
basic_istream<CharType>& _IStream,
basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>& _IStream,
basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>& _IStream,
basic_string<CharType, Traits, Allocator>& _Str,
CharType _Delimiter
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>&& _IStream,
basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>&& _IStream,
basic_string<CharType, Traits, Allocator>& _Str,
CharType _Delimiter
);
} // namespace std
参数
CharType
描述字符数据类型的模板参数。特征
描述 CharType 字符数据的所有属性的模板参数。分配器
描述存储的内存分配器对象的模板参数。_Str
支持 CharType 字符数据的 basic_string。_Val
要转换的值。_Idx
第一个没有重字符的索引值。_Base
使用的数基。_IStream
支持 CharType 字符数据的输入流。_OStream
支持 CharType 字符数据的输出流。_Delimiter
行分隔符。_Left
第一个(左侧)比较参数,basic_string 或字符数据。_Right
第二个(正确)比较参数,basic_string 或字符数据。
备注
C++语言和标准C++库支持字符串的两种类型:
通常称为C字符串Null终止的字符数组。
模板选件类对象,类型 basic_string,该处理所有 char相同的模板参数。
Typedef
描述模板选件类 basic_string 专用化与类型 char 的元素作为 string的类型。 |
|
描述模板选件类 basic_string 专用化与类型 wchar_t 的元素作为 wstring的类型。 |
|
描述模板选件类 basic_string 的专用化的类型基于类型 char16_t的元素。 |
|
描述模板选件类 basic_string 的专用化的类型基于类型 char32_t的元素。 |
运算符
串联两个字符串对象。 |
|
如果在运算符左侧的字符串对象与右侧的字符串,对象不相等测试。 |
|
如果在运算符左侧的字符串对象与右侧的字符串,对象相等测试。 |
|
如果在运算符左侧的字符串对象小于对于右侧的字符串,测试对象。 |
|
如果在运算符左侧的字符串对象小于或等于右侧的字符串,测试对象。 |
|
该模板的功能插入到输出流。 |
|
如果在运算符左侧的字符串对象比+对大于右侧的字符串,测试对象。 |
|
如果在运算符左侧的字符串对象大于或等于右侧的字符串,测试对象。 |
|
输入流提取字符串的模板函数。 |
专用模板函数
交换一些两个字符串的字符。 |
|
将字符序列转换为 double. |
|
将字符序列转换为 float。 |
|
将字符序列转换为整数。 |
|
将字符序列转换为 long double。 |
|
将字符序列转换为 long long。 |
|
将字符序列转换为 unsigned long。 |
|
将字符序列转换为 unsigned long long。 |
|
将值转换为 string。 |
|
将值转换为宽 string。 |
函数
从逐行的输入流来提取字符串。 |
类
描述对象可存储任意与字符的对象序列的模板选件类。 |
|
描述属性的模板选件类与类型CharType字符 |
专用化
为模板结构 char_traits<CharType> 专用化到类型 char元素的结构。 |
|
为模板结构 char_traits<CharType> 专用化到类型 wchar_t元素的结构。 |
|
为模板结构 char_traits<CharType> 专用化到类型 char16_t元素的结构。 |
|
为模板结构 char_traits<CharType> 专用化到类型 char32_t元素的结构。 |
要求
标头: <string>
命名空间: std