结构体初始化

在C++中,结构体初始化的方法有多种,以下是一些常见的初始化方式:

  1. 定义时赋值
struct Student {
    char name;
    int age;
    float score;
} student = {"Tom", 18, 90.5};
  1. 构造函数初始化
struct Student {
    char name;
    int age;
    float score;
    Student() : name{"Tom"}, age{18}, score{90.5} {}
};
  1. 使用初始化函数
struct Student {
    char name;
    int age;
    float score;
    Student(const char* n, int a, float s) : name{n}, age{a}, score{s} {}
};
  1. 使用memset进行初始化
struct Student {
    char name;
    int age;
    float score;
};
Student stu;
memset(&stu, 0, sizeof(stu));
  1. 使用C++11的列表初始化
struct Student {
    char name;
    int age;
    float score;
};
Student stu = {.name = "Tom", .age = 18, .score = 90.5};
  1. 使用C++17的结构化绑定
struct Student {
    char name;
    int age;
    float score;
};
auto [name, age, score] = Student{"Tom", 18, 90.5};

选择合适的初始化方法可以提高代码的可读性和维护性。需要注意的是,不同的初始化方法适用于不同的场景,应根据具体情况选择最合适的方法。

Top