本节大意
回顾了C语言中的数组的使用方法并和vector进行了系统的对比
细节摘录
1. 现代C++程序严格限制数组的使用,而替之以容器。只有当性能测试不通过的时候才用回数组。
2. 和string,vector一样,数组也必须时刻检查下标,防止越界。
3. 要预留一个长度存放末尾的空字符。
课后习题
1. 几种情况都很极端,不会判断。
2. 前两组是空的,后两组是未定以的。
3. bcd都是错的
4. 略
5. 主要是数组是静态的,大小一经确定就不能改变,而且一些操作也比较不够人性化(比如不能两个数组直接赋值)。
6. 错在序号错位了
7. 数组实现很简单,vector实现可以用赋值也可以用迭代器(但是之前一定要开辟空间)。
8. 方法其实大同小异,先是数组实现:
回顾了C语言中的数组的使用方法并和vector进行了系统的对比
细节摘录
1. 现代C++程序严格限制数组的使用,而替之以容器。只有当性能测试不通过的时候才用回数组。
2. 和string,vector一样,数组也必须时刻检查下标,防止越界。
3. 要预留一个长度存放末尾的空字符。
课后习题
1. 几种情况都很极端,不会判断。
2. 前两组是空的,后两组是未定以的。
3. bcd都是错的
4. 略
5. 主要是数组是静态的,大小一经确定就不能改变,而且一些操作也比较不够人性化(比如不能两个数组直接赋值)。
6. 错在序号错位了
7. 数组实现很简单,vector实现可以用赋值也可以用迭代器(但是之前一定要开辟空间)。
8. 方法其实大同小异,先是数组实现:
#include <iostream>
#include <vector>
#define MAX 5
using namespace std;
int main()
{
int a[MAX]={1,2,3,4,5};
int b[MAX]={1,2,4,3,5};
for (int i=0; i<MAX; i++) {
if (a[i] !=