温馨提示×

C++ Struct初始化有哪些不为人知的技巧

c++
小樊
88
2024-07-19 00:57:35
栏目: 编程语言

  1. 使用初始化列表: 在定义结构体变量时,可以使用初始化列表来初始化结构体成员变量,这样可以确保结构体变量在创建时就被正确初始化。
struct Person {
    std::string name;
    int age;
};

Person p = {"Alice", 25};
  1. 使用默认成员初始化: 可以在定义结构体时为成员变量指定默认值,这样在创建结构体变量时可以不用为每个成员变量都赋值。
struct Person {
    std::string name = "Alice";
    int age = 25;
};

Person p;
  1. 使用构造函数: 可以为结构体定义构造函数,这样在创建结构体变量时可以调用构造函数来初始化成员变量。
struct Person {
    std::string name;
    int age;

    Person(const std::string& n, int a) : name(n), age(a) {}
};

Person p("Alice", 25);
  1. 使用初始化函数: 可以为结构体定义专门的初始化函数,用来初始化成员变量。
struct Person {
    std::string name;
    int age;

    void init(const std::string& n, int a) {
        name = n;
        age = a;
    }
};

Person p;
p.init("Alice", 25);
  1. 使用聚合初始化: 可以使用聚合初始化来初始化结构体变量,这种方式可以简化代码,并且允许省略成员变量名称。
struct Person {
    std::string name;
    int age;
};

Person p = {"Alice", 25};

0