c strchr()函数的结果 C语言字符串操作总结大全(7)

电脑杂谈  发布时间:2018-02-12 22:57:46  来源:网络整理

3)定义了字符 / 字符串操作的包装界面,以便通用算法的调用??

assign(a, b) 定义将 b 字符赋值给 a 字符的过程,实现 a.operator = 的行为??

eq(a, b) 定义 a 字符和 b 字符的相等关系,实现 a.operator == 的行为??

lt(a, b) 定义 a 小于 b 的关系,实现 a.operator < 的行为??

compare(a_ptr, b_ptr, cnt) 定义两组字符串的比较,返回 int 类型,实现类似 memcmp 的行为??

length(ptr) 定义取字符串长度,实现类似 strlen 的行为??

copy(a_ptr, b_ptr, cnt) 定义两组字符串的复制,实现类似 memcpy 的行为??

move(a_ptr, b_ptr, cnt) 定义两组字符串的不重叠复制,实现类似 memmove 的行为??

assign(ptr, cnt, ch) 定义了填充字符串的过程,实现类似 memset 的行为??

to_int_type(ch) 定义了 char_type 到 int_type 整型的转换过程??

to_char_type(n) 定义了 int_type 到 char_type 字符型的转换过程??

eq_int_type(a, b) 定义两个和当前 char_type 类型对应的 int_type 的相等关系??

eof() 定义字符串结尾符,使用整型表示??

not_eof(n) 定义非字符串结尾符,若输入结尾符,则返回 1,其他输入返回原值,即总是不返回 eof()??

4)int_type 类型应是当前字符类型的整型编码??

??

二、std::string 并不是序列容器,没有 front() 和 back() 界面用于取出前端和尾端的元素,使用 std::string::operator [] 并传递 streampos 类型取得特定元素,如 std::string::size() - 1 作为索引取得最后一个字符??

三、basic_string 支持的初始化??

1)默认初始化??

2)分配器??

3)复制构造??

4)局部复制 [_Roff, _Roff + _Count)??

5)局部复制 + 分配器??

6)C 字符串 [_Ptr, <null>)??

7)C 字符串 + _Count [_Ptr, _Ptr + _Count)??

8)C 字符串 + 分配器??

9)C 字符串 + _Count + 分配器 [_Ptr, _Ptr + _Count)

10)_Count * _Ch??

11)_Count * _Ch + 分配器??

12)迭代器 [_ItF, _ItL)??

13)迭代器 + 分配器??

字符到串不能初始化,但支持 operator = 赋值和 operator += 累加赋值运算。c strchr()函数的结果??

四、字符串的区间有效性??

对串的索引访问在超过字符串的有效区间时,因为串的在实现上对内置的字符缓冲区执行下标访问,所以不会导致异常,但是将得到不可预知的结果,通常是不可用的。

将其他字符串作为右值输入时,对该串取出计数大于串大小时按串大小计算。??

std::basic_string::size_type 的实际类型为 size_t,在 Visual C++ 7.1 中实现为 unsigned,std::basic_string::npos 被静态设定为??

(basic_string<_Elem, _Traits, _Alloc>::size_type)(-1);??


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-74348-7.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...