C++面向对象程序设计:数据类型与向量操作
需积分: 18 137 浏览量
更新于2024-08-19
收藏 437KB PPT 举报
"C++面向对象程序设计教程第三章聚焦数据类型,涵盖整型、整数子类、浮点型、C-串与string、数组、向量、指针与引用等概念。通过示例代码解释如何添加元素到向量,并展示了一个读取文件并计算重复元素的程序。"
在C++编程语言中,数据类型是至关重要的概念,它定义了变量可以存储的数据种类以及对其进行的操作。本教程的第三章主要讲解了以下几个方面:
1. **整型** (int): 整型是最基础的数据类型之一,用于存储整数。在32位系统中,通常一个int变量占据4字节,而在16位系统中则占据2字节。C++提供了几种修饰符来改变整型的大小和符号,包括`short`、`long`、`signed`和`unsigned`。
- `short int`(或简写为`short`):占用2字节,表示较小的整数值。
- `long int`(或简写为`long`):通常占用4字节,但具体长度依赖于编译环境。
- `signed int`(默认):表示有符号整数,可以为正、负或零。
- `unsigned int`:表示无符号整数,只能为正数。
2. **整数子类**:包括`short`, `int`, `long`, `long long`等,它们是整型的不同变体,主要区别在于它们在内存中占用的字节数和可表示的数值范围。
3. **浮点型**:包括`float`和`double`。`float`占用4字节,一般用于表示单精度浮点数,而`double`占用8字节,表示双精度浮点数,精度比`float`更高。
4. **C-串与string**:C-串是用字符数组表示的字符串,以空字符'\0'结尾。`string`是C++标准库中的一个类,提供了更高级的字符串操作。
5. **数组**:是一种存储固定数量相同类型元素的集合。声明时需要指定元素类型和数组的大小,如`int arr[10]`。
6. **向量** (`vector`):是C++标准库中的一个容器类,可以动态地添加或删除元素。在示例代码中,`vector<int> s`创建了一个存储整数的向量,`push_back(a)`方法用于在向量末尾添加元素。
7. **指针与引用** (`pointer` & `reference`):指针是一个变量,存储了另一个变量的地址。引用是一个别名,一旦初始化后,就始终指向同一对象,不能改变指向。
示例代码展示了如何读取文本文件"aaa.txt"的内容,将其内容作为整数存入向量`s`,然后计算并输出向量中重复元素的数量。通过两个嵌套循环,检查向量中的每对元素,如果相等,则累加计数器`pare`。
在实际编程中,选择合适的数据类型至关重要,需要考虑以下因素:
- **数据范围**:确保数据类型能够容纳预期的值范围。
- **效率**:占用更少内存的数据类型通常执行速度更快。
- **可读性和可维护性**:选择清晰、易于理解的数据类型有利于代码的阅读和维护。
- **移植性**:如果目标是在多种环境下运行,应考虑使用标准定义的数据类型,如`short`和`long`,以确保跨平台兼容性。
理解和熟练掌握C++中的数据类型及其用法是成为高效C++程序员的基础。通过本章的学习,读者可以深入理解如何根据需求选择和使用不同类型的数据,以及如何有效地操作这些数据。
2013-10-19 上传
2013-04-12 上传
469 浏览量
2023-05-31 上传
2022-01-22 上传
2024-05-08 上传
2013-04-06 上传
2022-01-22 上传
点击了解资源详情
我的小可乐
- 粉丝: 26
- 资源: 2万+
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析