第2.21章: struct
概述
struct 让你把若干个值组合在同一个名字之下。
在本章中,我们定义最简单的一种 struct:
聚合体(aggregate)。聚合体只包含数据成员,没有隐藏的行为。
你将学到:
- 如何定义
struct聚合体 - 如何创建该类型的对象
- 如何读写它的成员
- 聚合初始化如何工作
1. 定义 struct 聚合体
只包含数据成员的 struct 就是一个聚合体。
struct Point {
int x;
int y;
}; // ← do not forget this semicolon
这个分号是必需的。忘记它是个非常常见的初学者错误。
这定义了一个名为 Point 的新类型,带有两个成员:
x 和 y。
2. 创建 struct 对象
你可以用花括号初始化来创建 Point:
Point p{3, 4};
这把 p.x 设为 3,把 p.y 设为 4。
3. 访问与修改成员
使用点运算符(.)来读写成员。
Point p{3, 4};
print("x=", p.x, " y=", p.y);
p.x = 10;
p.y = 20;
print("x=", p.x, " y=", p.y);
每个成员的行为都像普通变量。
4. 指派初始化
聚合体支持指派初始化器:
Point a{.x = 1, .y = 2};
这会按名字设置成员。
5. 我们尚未涉及的内容
在本章中,我们有意避开:
classpublic/private- 成员函数
- 构造函数
- 方法
- 容器
- 循环
struct 聚合体就是一组没有隐藏行为的值的集合。
要点
- 只含数据成员的
struct是聚合体。 - 聚合体支持简单的花括号初始化。
- 成员用
.访问。 - 聚合体不包含隐藏行为。