【C++复习】第九章 模板与群体数据(2)
2024-10-21 12:51:33
学习重点:容器类型内部的实现机制,顺便复习前面各章内容。容器类型的具体实现不需要特别关注(目前不需要会裸手写这么一个容器类型)
1、群体/线性群体
群体的概念
- 群体是指由多个数据元素组成的集合体。群体可以分为两个大类:线性群体和非线性群体
- 线性群体中的元素按位置排列有序,可以区分为第一个元素、第二个元素等
- 非线性群体不用位置顺序来标识元素
线性群体
- 在线性群体中,又可按照访问元素的不同方法分为直接访问、顺序访问和索引访问
- 本章(9章)中只介绍直接访问和顺序访问
2、直接访问的线性群体——数组类
2.1 简介
- 静态数组是具有固定元素个数的群体,其中的元素可以通过下标直接访问
- 缺点:大小在编译时就已经确定,在运行时无法修改
- 动态数组由一系列位置连续的、任意数量相同类型的元素组成
- 优点:其元素个数可在程序运行时改变
- vector就是用类模板实现的动态数组
2.2 例9-3 动态数组类模板程序
-
- 为什么有的函数返回引用
- 如果一个函数的返回值是一个对象的值,就是右值,不能成为左值
- 如果返回值为引用。由于引用是对象的别名,通过引用可以改变对象的值,因此是左值
assert(sz>=0);
:断言,当sz<0时程序退出,这个在异常处理中会讲,现在凑活用
- 为什么有的函数返回引用
2.3 例9-3 动态数组类模板程序
-
- 指针运算符重载时不写返回值,也不写形参
- 为什么需要指针转换运算符?
2.4 例9-4 Array类的应用
求范围2~N中的质数,N在程序运行时由键盘输入(判断质数用的是“查表法”)
参考:C++语言程序设计(第5版),郑莉,清华大学
最新文章
- java 消息机制 ActiveMQ入门实例
- Emit学习(2) - IL - 值类型和引用类型(补)
- Java Web页面跳转
- Windows内核 内存管理基本概念
- HTML中的下拉列表 select
- 【洛谷 P3385】模板-负环(图论--spfa)
- android的简单入门学习
- 红包算法思考和总结 -- by jason.zhi
- 九度OJ 1446 Head of a Gang -- 并查集
- 图论(二分图最大权独立点集):COGS 2051. 王者之剑
- NET:交换机的背板带宽,交换容量,包转发率区别
- 【转】sql语句的优化分析
- HDU 6112 今夕何夕
- 【动态规划】记忆搜索(C++)
- WEB学习笔记8-添加javascript禁用的提示
- creator rotationY的问题
- Python多线程thread、threading(一)
- xshell中出现的绿色背景的文件夹
- webview相关知识
- 使用 Cookie 而无需 ASP.NET 核心标识的身份验证