basic_string是string类型的基类,在string class内部的类型定义 和 静态值
1、basic_string ::traits_type
字符特征(character traits)的类型
basic_string<>的第二个template参数
对类型string而言,此值等价于char_traits<char>
注:char_traits 结构描述关联的特性字符。
template <class CharType> struct char_traits;
字符特性 :就是字符具有的特性
例如:可以转成整数
可以得到字符串的长度
可以大小写转换
可以大小写转换
2、basic_string ::value_type
字符类型
等价于
traits_type::char_type
对string类型而言,此值等价于char
traits_type请参考《c++中type_traits
》
3、basic_string::size_type
未带正负号的整数类型,用来指定大小值和索引;
等价于
allocator_type::size_type
对string类型而言,此值等价于size_t
4、basic_string::difference_type
带正负号的整数类型,用来指定差值(距离);
等价于allocator_type::difference_type;
对string类型而言,此值等价于ptrdiff_t。
5、 basic_string::reference
字符的reference类型
等价于allocator_type::difference_type
对于string类型而言,此值等价于char&
6、 basic_string::reference
字符的reference类型
等价于allocator_type::const_difference
对于string类型而言,此值等价于const char&
7、 basic_string::pointer
字符pointers类型
等价于allocator_type::pointer
对于string类型而言,此值等价于 char*
8、 basic_string::const_pointer
常量字符pointers类型
等价于allocator_type::const_pointer
对于string类型而言,此值等价于const char&
9、 basic_string::iterator
迭代器类型
确切类型由当时操作类型而定
对于string类型而言,此值等价于 char*
10、 basic_string::const_iterator
常熟迭代器类型
确切类型由当时操作类型而定
对于string类型而言,此值等价于const char*
11、 basic_string::reverse_iterator
逆向迭代器(reverse iterators)类型
等价于reverse_iterator<iterator>
12、 basic_string::const_reverse_iterator
逆向迭代器(reverse iterators)类型
等价于reverse_iterator<const_iterator>
13、static const size_type string::npos
这是一个特殊值,表示下列情形
“未找到”
“所有剩余字符”
初始值为-1(一个无正负号整数值)
使用npos时要十分小心