本 Wiki 开启了 HTTPS。但由于同 IP 的 Blog 也开启了 HTTPS,因此本站必须要支持 SNI 的浏览器才能浏览。为了兼容一部分浏览器,本站保留了 HTTP 作为兼容。如果您的浏览器支持 SNI,请尽量通过 HTTPS 访问本站,谢谢!
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版 | 上一修订版两侧同时换到之后的修订记录 | ||
cs:programming:cpp:cpp_primer:3_str_vec_arry [2024/01/14 13:46] – ↷ 页面programming:cpp:cpp_primer:3_str_vec_arry被移动至cs:programming:cpp:cpp_primer:3_str_vec_arry codinghare | cs:programming:cpp:cpp_primer:3_str_vec_arry [2024/01/15 00:33] – ↷ 链接因页面移动而自动修正 50.16.62.182 | ||
---|---|---|---|
行 47: | 行 47: | ||
</ | </ | ||
===Operations on strings=== | ===Operations on strings=== | ||
- | {{ : | + | {{ cs: |
==string的读 / 写== | ==string的读 / 写== | ||
string 的读入操作有两种常用的方式:''>>'' | string 的读入操作有两种常用的方式:''>>'' | ||
行 127: | 行 127: | ||
===string中的字符操作=== | ===string中的字符操作=== | ||
C++ 通过头文件 '' | C++ 通过头文件 '' | ||
- | {{ : | + | {{ cs: |
<WRAP center round tip 100%> | <WRAP center round tip 100%> | ||
在对 string 中的字符操作过程中,C++ 继承了 C 的字符操作库 ctype.h。不过在 C++ 中,有属于 C++ 自己的版本来表达这个库,那就是去掉扩展名(.h suffix), 然后在原有的库名前加一个 c (c 开头表示这个 header 来源于 c 标准库的一部分),这样 '' | 在对 string 中的字符操作过程中,C++ 继承了 C 的字符操作库 ctype.h。不过在 C++ 中,有属于 C++ 自己的版本来表达这个库,那就是去掉扩展名(.h suffix), 然后在原有的库名前加一个 c (c 开头表示这个 header 来源于 c 标准库的一部分),这样 '' | ||
行 277: | 行 277: | ||
除开 '' | 除开 '' | ||
\\ \\ | \\ \\ | ||
- | {{ : | + | {{ cs: |
\\ \\ | \\ \\ | ||
值得提醒的是,'' | 值得提醒的是,'' | ||
行 333: | 行 333: | ||
===迭代器的操作=== | ===迭代器的操作=== | ||
迭代器支持一系列的操作:\\ \\ | 迭代器支持一系列的操作:\\ \\ | ||
- | {{: | + | {{cs: |
\\ \\ | \\ \\ | ||
利用迭代器性质判断容器是否为空: | 利用迭代器性质判断容器是否为空: | ||
行 405: | 行 405: | ||
需要注意的是 vector 有导致迭代器无效的潜在危险。比如像已经确定范围的 vector 遍历过程中再对该 vector 添加新的元素,那么迭代器会有很大的概率会失效。因此,需要确保在使用迭代器循环的时候不能往其操作的容器中添加新的元素。 | 需要注意的是 vector 有导致迭代器无效的潜在危险。比如像已经确定范围的 vector 遍历过程中再对该 vector 添加新的元素,那么迭代器会有很大的概率会失效。因此,需要确保在使用迭代器循环的时候不能往其操作的容器中添加新的元素。 | ||
===迭代器的运算=== | ===迭代器的运算=== | ||
- | 迭代器通常支持位移('' | + | 迭代器通常支持位移('' |
当迭代器进行算术运算的时候,参与运算的迭代器必须指向同一个容器内的元素,或者是指向容器最后一个元素的下一个位置(off-the-end-iterator)。下面一个例子使用了头部迭代器和 size 信息计算了容器中部的迭代器: | 当迭代器进行算术运算的时候,参与运算的迭代器必须指向同一个容器内的元素,或者是指向容器最后一个元素的下一个位置(off-the-end-iterator)。下面一个例子使用了头部迭代器和 size 信息计算了容器中部的迭代器: | ||
<code cpp> | <code cpp> | ||
行 619: | 行 619: | ||
==C Library string functions== | ==C Library string functions== | ||
C 中有操作该类字符串的函数,定义于 '' | C 中有操作该类字符串的函数,定义于 '' | ||
- | {{ : | + | {{ cs: |
以上的函数均不会校验其收到的参数,因此需要特别注意参数的合法性。一个比较常见的错误就是将没有 //null terminated// | 以上的函数均不会校验其收到的参数,因此需要特别注意参数的合法性。一个比较常见的错误就是将没有 //null terminated// | ||
<code cpp> | <code cpp> |