Avatar ·

如何在C++类中正确定义静态常量std::string?

大家好!我开始学习C++,在处理类中的静态常量时遇到了问题。我需要在类内部定义一个类型为 `const std::string` 的静态数据成员。 这是我的代码: ```cpp #include class MyClass { public: static const std::string kAppName = "MyApp"; // 错误! }; ``` 编译器报错:"error: 'const std::string kAppName' cannot be initialized by a constant expression" 或类似 "non-const static data member must be initialized out of line"。我知道对于整数类型(int、char等)和enum可以直接在类内初始化,但对于 std::string 这不起作用。 我尝试了不同方法:去掉const,添加constexpr,但都没有用。网上说需要在类外定义静态常量,但我不明白如何正确操作。你们能告诉我如何在类中声明和定义静态常量字符串吗? 另外也想知道:是否可以用其他方式实现?