📅  最后修改于: 2023-12-03 15:22:41.724000             🧑  作者: Mango
在 C++ 中,初始化列表提供了一种有效的方式来初始化类的成员变量。初始化列表使用一组大括号 {}
作为语法,可以在对象创建的同时初始化成员变量。这种方式比在构造函数内部显式初始化成员变量更高效,因为它允许编译器在对象创建时直接初始化成员变量,而不是在构造函数体内进行赋值操作。
以下是初始化列表的通用语法:
class MyClass {
public:
MyClass(int var1, int var2, int var3)
: member1_(var1),
member2_(var2),
member3_(var3) {
}
private:
int member1_;
int member2_;
int member3_;
};
初始化列表语法由冒号 :
开始,然后是一个由逗号 ,
分隔的成员初始化列表。每个成员的初始化语法为 成员名_(初始化表达式)
,其中 成员名_
表示成员变量的名字,初始化表达式
表示用于初始化成员变量的表达式。
以下是初始化列表的用法示例:
#include <iostream>
class Point {
public:
Point(int x, int y) : x_(x), y_(y) {}
int x_;
int y_;
};
int main() {
Point p(3, 4);
std::cout << "x: " << p.x_ << ", y: " << p.y_ << std::endl;
return 0;
}
在这个例子中,Point
类有两个成员变量 x_
和 y_
,它们在构造函数中通过初始化列表进行初始化。
运行程序输出:
x: 3, y: 4
初始化列表提供了一种高效的初始化成员变量的方式,在对象创建时使用一组大括号 {}
进行初始化,比构造函数内部显式初始化效率更高。借助初始化列表,可以轻松创建含有多个成员变量的类,并保持代码的可读性和清晰性。