奇怪的 C++ 语法方法声明
Strange C++ syntax method declaration
我在一些 C++ 代码中遇到了这种方法声明语法:
formatted_log_t( log_level_t level, const wchar_t* msg ) : fmt(msg), level(level) {}
我不明白这是如何处理的,大括号前有“:”、"fmt" & "level"...
这是C++初始化列表。您可以将它与 class 构造函数示例
一起使用
class MaClasse
{
int myInt;
MaClasse(int value) : myInt(value)
{
}
};
用于初始化成员变量。使用初始化列表比在构造函数体中使用初始化更快
我在一些 C++ 代码中遇到了这种方法声明语法:
formatted_log_t( log_level_t level, const wchar_t* msg ) : fmt(msg), level(level) {}
我不明白这是如何处理的,大括号前有“:”、"fmt" & "level"...
这是C++初始化列表。您可以将它与 class 构造函数示例
一起使用class MaClasse
{
int myInt;
MaClasse(int value) : myInt(value)
{
}
};
用于初始化成员变量。使用初始化列表比在构造函数体中使用初始化更快