21xrx.com
2024-12-23 01:30:01 Monday
登录
文章检索 我的文章 写文章
C++11中的类成员初始化
2023-06-28 05:56:33 深夜i     --     --
类成员 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新增的特性,也是一种更加灵活高效的初始化方式,使代码更加简单易读,减少了代码的冗余和维护成本。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复