首页 >后端开发 >C++ >如何在 C 类中正确初始化常量静态字符串变量?

如何在 C 类中正确初始化常量静态字符串变量?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-05 02:42:13927浏览

How to Properly Initialize Constant Static String Variables in C   Classes?

C 类中静态变量的初始化

在 C 中,静态类变量只能在类定义之外初始化。但是,在处理应在类中保持不变的字符串变量时,这可能会带来挑战。为了解决这个问题,我们可以在源文件中的类外部初始化这些变量:

// Inside the class header file (.h)
class Thing {
    static const string RE_ANY;
    static const string RE_ANY_RELUCTANT;
};

// In the source file (.cpp)
const string Thing::RE_ANY = "([^\n]*)";
const string Thing::RE_ANY_RELUCTANT = "([^\n]*?)";

一个重要的注意事项是,如果变量是常量并且不应该被类方法修改,那么建议使用 const 关键字而不是使其静态。静态变量在类的所有实例之间共享,而 const 变量仍然可以通过非 const 方法访问,但不能修改。

以上是如何在 C 类中正确初始化常量静态字符串变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn