阅读量:0
- 使用列表初始化来初始化对象,避免使用赋值操作符,可以提高代码效率和可读性。
// 使用列表初始化 int arr[] = {1, 2, 3, 4, 5}; // 避免使用赋值操作符 int a = 10; int b = 20; int c = 30; // 更高效的方式 int a{10}; int b{20}; int c{30};
- 在初始化对象时,使用构造函数的默认参数来减少代码量。
// 构造函数的默认参数 class MyClass { public: MyClass(int x = 0, int y = 0) : m_x(x), m_y(y) {} private: int m_x; int m_y; }; // 初始化对象时使用默认参数 MyClass obj1; // 默认初始化为0, 0 MyClass obj2(1); // 初始化为1, 0 MyClass obj3(1, 2); // 初始化为1, 2
- 使用成员初始化列表来初始化类的成员变量,而不是在构造函数体内进行初始化。
class MyClass { public: MyClass(int x, int y) : m_x(x), m_y(y) {} private: int m_x; int m_y; }; // 使用成员初始化列表 MyClass obj(10, 20);
- 使用初始化列表初始化类的const成员变量,因为const成员变量只能在初始化时赋值。
class MyClass { public: MyClass(int x) : m_x(x), m_y(0) {} private: const int m_x; int m_y; }; // 初始化const成员变量 MyClass obj(10);
- 使用初始化列表来初始化引用类型的成员变量,引用类型必须在初始化时赋值。
class MyClass { public: MyClass(int& x) : m_x(x) {} private: int& m_x; }; int val = 10; MyClass obj(val); // 初始化引用类型成员变量