这种语法的意思是C ++"class_name: class_ptr_1(nullptr), class_ptr_2(nullptr) {}"



我看不懂

的语法
class_name: class_ptr_1(nullptr), class_ptr_2(nullptr) {}

你的意思是

class_name() : class_ptr_1(nullptr), class_ptr_2(nullptr) {}
^^^

它是一个构造函数定义,带有一个初始化列表。也就是说,类数据成员class_ptr_1class_ptr_2在mem初始化列表中初始化。

下面是一个例子

#include <iostream>
#include <string>
struct Beginner
{
Beginner() : first_name( "Deepak" ), last_name( "Singh" )
{
}
std::string first_name;
std::string last_name;
};
int main()
{
Beginner beginner;
std::cout << "first name: " << beginner.first_name
<< ", last name: " << beginner.last_name
<< 'n';
}

程序输出为

first name: Deepak, last name: Singh

最新更新