在C++中,结构体初始化的方法有多种,以下是一些常见的初始化方式:
- 定义时赋值
struct Student {
char name;
int age;
float score;
} student = {"Tom", 18, 90.5};
- 构造函数初始化
struct Student {
char name;
int age;
float score;
Student() : name{"Tom"}, age{18}, score{90.5} {}
};
- 使用初始化函数
struct Student {
char name;
int age;
float score;
Student(const char* n, int a, float s) : name{n}, age{a}, score{s} {}
};
- 使用
memset
进行初始化
struct Student {
char name;
int age;
float score;
};
Student stu;
memset(&stu, 0, sizeof(stu));
- 使用C++11的列表初始化
struct Student {
char name;
int age;
float score;
};
Student stu = {.name = "Tom", .age = 18, .score = 90.5};
- 使用C++17的结构化绑定
struct Student {
char name;
int age;
float score;
};
auto [name, age, score] = Student{"Tom", 18, 90.5};
选择合适的初始化方法可以提高代码的可读性和维护性。需要注意的是,不同的初始化方法适用于不同的场景,应根据具体情况选择最合适的方法。