《C++ Primer》 读书笔记——第三章 字符串、向量、数组

第三章 字符串、向量、数组

1、size_t表示无符号整数,为unsigned类型。

  • 它可以表示的正数范围是int的两倍。
  • 当确定该变量的值一定大于等于0时,选用size_t类型而不用int类型。
  • 在for循环中使用size_t

使用size_t有很多好处,这里贴一个专门介绍这些好处的文章:
为什么size_t重要

2、无符号数和有符号数的运算问题

无符号数和有符号数进行运算时,有符号数会被转换为无符号数。所以就要注意下面的问题:

在这里插入图片描述

3、cin读入字符串时,会忽略打头的空白部分

4、字符串相加时需要注意的问题

确保每个加法运算符的两侧的运算对象至少有一个是string

在这里插入图片描述
在这里插入图片描述

5、处理字符的函数库

在这里插入图片描述
在这里插入图片描述


3.4 迭代器

1、迭代器begin和end

begin指向第一个元素,end指向最后一个元素的后一位

2、遍历时容器时不用"<“而用”!= end"

在这里插入图片描述
在这里插入图片描述

3、迭代器的箭头运算符

在这里插入图片描述

4、使迭代器失效的两个操作

  • 范围for循环中向vector对象添加元素
  • 任何一种改变vector对象容量的操作

在这里插入图片描述


3.5 数组

1、当不清楚元素的确切个数时,选用vector。

2、数组初始化的维度在编译时应该是已知的,所以维度必须是常量表达式(这里我吃过很多次亏)

在这里插入图片描述

3、数组不允许拷贝和赋值

在这里插入图片描述

4、理解数组声明的含义:从内往外,从右往左

在这里插入图片描述

5、遍历数组尽量使用范围for循环语句

在这里插入图片描述

6、获取数组迭代器的函数:begin函数和end函数

注意使用前需要包含头文件iterator

在这里插入图片描述

7、c风格的字符串

  • string类含有一个类内成员变量c_str,这保存了c风格字符数组。

在这里插入图片描述

  • c风格字符串的函数
    在这里插入图片描述
    建议尽量不要使用c风格的字符串

8、尽量使用vector和迭代器而不是指针和数组

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/youyadefeng1/article/details/112614461