我只是想问一下在C++,头文件或构造函数中初始化const类成员变量的最佳实践是什么?
谢谢 : )
在头文件中:
class ExampleClass{
public:
ExampleClass();
private:
const std::string& string_member_variable_ = "Sample Text";
}
要么在构造函数中:
class ExampleClass{
public:
ExampleClass();
private:
const std::string& string_member_variable_;
}
ExampleClass::ExampleClass() : string_member_variable_("Sample Text") {}
最佳答案
它们并不完全相同,对于构造函数初始化,其缺点之一是您需要保持初始化顺序
同样,如果使用.cpp和.h,则可能需要始终切换到cpp来查找初始化值。
这个问题已经回答C++11 member initializer list vs in-class initializer?
关于c++ - C++在头文件或构造函数中初始化const类成员变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45134781/