C++结构体基本教程_C++ struct属性与使用方式

admin 百科 13
struct 是 C++ 中用于轻量级数据封装的类型,默认成员 public,支持嵌套和列表初始化,定义后可像基本类型一样声明、赋值和访问成员。

C++结构体基本教程_C++ struct属性与使用方式-第1张图片-佛山资讯网

结构体(struct)是 C++ 中组织相关数据的最基本方式,它允许你把多个不同类型的数据打包成一个整体,方便管理和使用。 它不是类,但语法上很像——默认成员是 public 的,不带函数也能用,适合轻量级数据封装。

struct 怎么定义?

struct 关键字 + 名字 + 花括号 定义,里面写成员变量(可以是任意类型,包括其他 struct):

struct Person {
    std::string name;
    int age;
    double height;
};

登录后复制

  • 定义后,Person 就成了一个新类型,和 intdouble 一样可用
  • 成员默认是 public,可以直接通过点号访问:Person p; p.age = 25;
  • 不支持直接在定义里初始化成员值(C++11 后可在声明时给默认值,如 int age = 0;

怎么创建和使用 struct 变量?

定义好 struct 类型后,就能像普通变量一样声明、赋值、传参:

Person a = {"Alice", 30, 165.5};        // C++11 起支持列表初始化
Person b;
b.name = "Bob";
b.age = 28;
b.height = 178.2;

std::cout << a.name << " is " << a.age << " years old.\n";

登录后复制

  • 支持直接初始化(花括号)、逐个赋值、拷贝构造(Person c = a;
  • 可以作为函数参数:按值传(拷贝整个结构体)、按引用传(void print(const Person& p) 更高效)
  • 可以作为返回值:Person getAdult() { return {"Tom", 45, 172.0}; }

struct 和 class 有啥区别?

最核心的区别只有 **默认访问权限**:

标签: c++

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~