初始化 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中文网其他相关文章!