第2.21章: struct

English

概述

struct 让你把若干个值组合在同一个名字之下。 在本章中,我们定义最简单的一种 struct: 聚合体(aggregate)。聚合体只包含数据成员,没有隐藏的行为。

你将学到:

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. 我们尚未涉及的内容

在本章中,我们有意避开:

struct 聚合体就是一组没有隐藏行为的值的集合。

要点