在 C 中,直接在类定义中初始化 const std::string 类型的静态数据成员是不允许。相反,有两个选项可以定义此类数据成员:
使用内联变量,它定义并初始化类定义中的静态成员:
class A { private: inline static const string RECTANGLE = "rectangle"; };
在类定义之外定义静态成员并在单独的实现文件:
头文件
class A { private: static const string RECTANGLE; };
实现文件
const string A::RECTANGLE = "rectangle";
在类定义中初始化静态数据成员的语法只是支持整数和枚举类型。对于像 const std::string 这样的非整数类型,这种方法无效。
以上是如何在 C 中初始化静态 `const std::string` 数据成员?的详细内容。更多信息请关注PHP中文网其他相关文章!