学习重点:容器类型内部的实现机制,顺便复习前面各章内容。容器类型的具体实现不需要特别关注(目前不需要会裸手写这么一个容器类型)

1、群体/线性群体

群体的概念

  1. 群体是指由多个数据元素组成的集合体。群体可以分为两个大类:线性群体和非线性群体
  2. 线性群体中的元素按位置排列有序,可以区分为第一个元素、第二个元素等
  3. 非线性群体不用位置顺序来标识元素

线性群体

  1. 在线性群体中,又可按照访问元素的不同方法分为直接访问、顺序访问和索引访问
  2. 本章(9章)中只介绍直接访问和顺序访问

2、直接访问的线性群体——数组类

2.1 简介

  1. 静态数组是具有固定元素个数的群体,其中的元素可以通过下标直接访问

    1. 缺点:大小在编译时就已经确定,在运行时无法修改
  2. 动态数组由一系列位置连续的、任意数量相同类型的元素组成
    1. 优点:其元素个数可在程序运行时改变
  3. vector就是用类模板实现的动态数组

2.2 例9-3 动态数组类模板程序

    1. 为什么有的函数返回引用

      • 如果一个函数的返回值是一个对象的值,就是右值,不能成为左值
      • 如果返回值为引用。由于引用是对象的别名,通过引用可以改变对象的值,因此是左值
    2. assert(sz>=0);:断言,当sz<0时程序退出,这个在异常处理中会讲,现在凑活用

2.3 例9-3 动态数组类模板程序

    • 指针运算符重载时不写返回值,也不写形参
    • 为什么需要指针转换运算符?

2.4 例9-4 Array类的应用

求范围2~N中的质数,N在程序运行时由键盘输入(判断质数用的是“查表法”)

参考:C++语言程序设计(第5版),郑莉,清华大学

最新文章

  1. java 消息机制 ActiveMQ入门实例
  2. Emit学习(2) - IL - 值类型和引用类型(补)
  3. Java Web页面跳转
  4. Windows内核 内存管理基本概念
  5. HTML中的下拉列表 select
  6. 【洛谷 P3385】模板-负环(图论--spfa)
  7. android的简单入门学习
  8. 红包算法思考和总结 -- by jason.zhi
  9. 九度OJ 1446 Head of a Gang -- 并查集
  10. 图论(二分图最大权独立点集):COGS 2051. 王者之剑
  11. NET:交换机的背板带宽,交换容量,包转发率区别
  12. 【转】sql语句的优化分析
  13. HDU 6112 今夕何夕
  14. 【动态规划】记忆搜索(C++)
  15. WEB学习笔记8-添加javascript禁用的提示
  16. creator rotationY的问题
  17. Python多线程thread、threading(一)
  18. xshell中出现的绿色背景的文件夹
  19. webview相关知识
  20. 使用 Cookie 而无需 ASP.NET 核心标识的身份验证

热门文章

  1. 将 ChatGPT 接入 Zabbix 为告警提供修复建议(对接钉钉)
  2. OOP学习讲义
  3. Java定义一个方法处理公司的迟到问题的相关代码
  4. linux执行sh脚本报错:$’\r’: 未找到命令的解决
  5. C++ 中的匿名函数(lambda表达式)
  6. iOS开发-应用评分引导
  7. 靶场练习2:cloudantvirus
  8. 【转】wamp如何添加多个站点
  9. [人脸识别]06-JPG人脸检测
  10. shell 脚本实现二进制安装 LAMP 架构的 wordpress