首页 > 后端开发 > C++ > 如何正确初始化C类中的静态变量?

如何正确初始化C类中的静态变量?

DDD
发布: 2024-12-05 13:12:11
原创
931 人浏览过

How to Properly Initialize Static Variables in C   Classes?

初始化 C 类中的静态变量

在面向对象编程中,通常需要初始化类中的静态变量。然而,这种做法可能会带来挑战,如以​​下问题所示:

困境:
开发人员已在其类中识别出多个不需要对象访问的函数,因此被标记为静态。但是,编译器要求所有访问的变量也声明为静态。开发人员随后在类中将这些变量声明为 static const,但遇到编译错误。

解决方案:
要在类中初始化静态变量,应该在类声明中定义它们但在单独的源文件中初始化它们。这如下所示:

// Class Header
class Thing {
public:
    static string RE_ANY;
    static string RE_ANY_RELUCTANT;
};

// Source File
string Thing::RE_ANY = "([^\n]*)";
string Thing::RE_ANY_RELUCTANT = "([^\n]*?)";
登录后复制

替代考虑:
重要的是要注意,使函数成为静态意味着它们不再与对象关联并且无法访问非静态成员。相反,请考虑将它们标记为 const,这会阻止它们修改成员,但允许访问它们。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板