是否可以在构造函数之外初始化静态 const 值?可以在发现成员声明的地方初始化吗?
class A {
private:
static const int a = 4;
/*...*/
};
原文由 anarhikos 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以在构造函数之外初始化静态 const 值?可以在发现成员声明的地方初始化吗?
class A {
private:
static const int a = 4;
/*...*/
};
原文由 anarhikos 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答3.3k 阅读
是的,您可以,但仅适用于 int 类型。如果您希望您的静态成员是任何其他类型,则必须在 cpp 文件中的某处定义它。
另外,请注意,此规则已在 C++11 中删除,现在(使用提供该功能的编译器)您可以直接在类成员声明中初始化您想要的内容。