07 chapter 类模板array和vector、异常捕获(cpp大学教程)学习笔记

  • 7.1 array对象
    • 7.1.1 声明
      • array<type, size> name;
      • 用常量变量声明array对象
        • const size_t arraySize = xx; array<type, arraySize> name;
        • 常量变量(命名常量或者只读变量)必须用常量表达式初始化
    • 7.1.2 array初始化
      • 使用for循环初始化
        • for(size_t i = 0; i < array1.size(); i++){array1[i] = 0;}
      • 在声明时初始化
        • array<type, size> name = {value, value};
        • 当初始化元素个数小于数组所含个数时,其余元素会自动初始化值0,此方法只能用在array对象的生命中
    • 7.1.3 静态局部array对象和自动局部array对象
      • 静态局部array对象
        • static array<type, arraySize> name;
        • 会自动把每个元素都初始化为0,每次调用函数都会保存上一次执行的值
      • 自动局部array对象
        • 不会执行默认初始化,且具有自动存储期,每次需要重新创建
    • 7.1.4 基于范围的for语句
      • for(type item : items){};//当不需要array下标时,可以使用基于范围的for语句简化计数器循环
      • 二维数组,嵌套基于范围的for语句
        • for(auto student : grades){for(auto test : student){}};
        • 使用auto自动匹配对象的数据类型
    • 7.1.5 排序和查找
      • 排序sort
        • sort(array.begin(), array.end());
      • 查找binary_search
        • binary_search(array.begin(), array.end(), value);
        • 注意:二分查找必须是基于排好序的array数组
    • 7.1.6 多维array对象
      • array<array<type, columns>, rows>;
  • 7.2 vector对象
    • 7.2.1 声明
      • vector<type> name(size);//vector的大小在对象名称后圆括号内声明
      • vector创建时会默认执行初始化,将所有元素初始化为0
      • 通过vector来声明另一个对象初始化
        • vector<type> name(Integer1);
    • 7.2.2 操作
      • 可以用!=和==运算符进行比较
        • (Integer1 != Integer2) or (Integer1 == Integer2)
      • 可以使用赋值运算符
        • Integer1 = Integer2;//将数组2的值赋给Integer2,此时Integer1 == Integer2
      • push_back()改变vector的大小
        • vector.push_back(100);//会在vector最后一个元素后面添加一个值为100的元素
  • 7.3 异常处理
    • try{}catch( out_of_range &ex ){ cout << ex.what() << endl;}
    • vector成员函数at提供了边界检查功能
      • try{cout<<integer1.at(15)<<endl;}catch(out_of_range &ex){cout<<ex.what()<<endl;}若超出范围,则或获取超出范围错误
    • 异常形参what成员函数
      • ex.what()
      • 获取存储在此异常对象中的错误消息,便于修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值