21xrx.com
2025-04-28 05:57:54 Monday
文章检索 我的文章 写文章
C++11中的类成员初始化
2023-06-28 05:56:33 深夜i     12     0
类成员 C++11 初始化 构造函数 列表初始化

C++11中的类成员初始化方式不仅简化了代码编写,还提高了代码的可读性和可维护性。这种新的初始化方式可以直接在类的定义中指定成员变量的初始值,避免了传统的构造函数初始化。

在C++11之前,一般都是在构造函数中对成员变量进行初始化,如下代码所示:

class Person {
public:
  Person(string name, int age)
    m_name = name;
    m_age = age;
  
private:
  string m_name;
  int m_age;
};

在C++11中,我们可以使用以下方式在类的定义中对成员变量初始化:

class Person
public:
  string m_name = "default_name";
  int m_age = 0;
;

这种方式使得代码更加简洁,易于维护。此外,这种初始化方式还允许我们使用更复杂的初始化逻辑,例如使用其他成员变量初始化。

class Person {
public:
  Person(string name, int age) : m_name(name), m_age(age), m_fullName(m_name + to_string(m_age)) {}
private:
  string m_name;
  int m_age;
  string m_fullName;
};

上面的代码中,m_fullName的初始化使用了其他成员变量m_name和m_age,更加灵活高效。

总之,类成员初始化是C++11新增的特性,也是一种更加灵活高效的初始化方式,使代码更加简单易读,减少了代码的冗余和维护成本。

  
  

评论区