在C++中,成員初始化列表是一種在構(gòu)造函數(shù)中初始化類(lèi)成員變量的方法
以下是使用成員初始化列表的一些示例:
class MyClass {
public:
int x;
double y;
MyClass(int a, double b) : x(a), y(b) {
// 構(gòu)造函數(shù)的主體可以為空
}
};
class MyClass {
public:
int& ref;
int* ptr;
MyClass(int a, int& b) : ref(a), ptr(&b) {
// 構(gòu)造函數(shù)的主體可以為空
}
};
class MyClass {
public:
const int& constRef;
const int* constPtr;
MyClass(int a, const int& b) : constRef(b), constPtr(&b) {
// 構(gòu)造函數(shù)的主體可以為空
}
};
class MyClass {
public:
MyClass anotherClass;
MyClass(int a, const MyClass& b) : anotherClass(b) {
// 構(gòu)造函數(shù)的主體可以為空
}
};
class MyClass {
public:
int x;
double y;
std::string z;
MyClass(int a, double b, const std::string& c) : x(a), y(b), z(c) {
// 構(gòu)造函數(shù)的主體可以為空
}
};
使用成員初始化列表的優(yōu)點(diǎn)是它允許在構(gòu)造對(duì)象時(shí)直接初始化成員變量,而不需要在構(gòu)造函數(shù)體內(nèi)進(jìn)行賦值操作。這可以提高性能,特別是對(duì)于復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和引用類(lèi)型的成員變量。此外,成員初始化列表還可以用于初始化常量和引用類(lèi)型的成員變量,這是通過(guò)在初始化列表中直接傳遞它們的初始值來(lái)實(shí)現(xiàn)的。