gpt4 book ai didi

c++ - 静态成员变量

转载 作者:行者123 更新时间:2023-11-30 02:45:52 26 4
gpt4 key购买 nike

<分区>

我开始使用 C++ 进行面向对象编程,并且遇到了静态成员变量。

在我的特殊情况下,我的头文件 (Class.hpp) 中包含以下内容:

private:
const static string DEFAULT_PATH;
static string path;

这并不重要,但与任何示例一样有效。

因此,为了进行正确的初始化,我必须进行一些研究并发现这不能在类主体中完成,而必须在源 (Class.cpp) 文件中完成。在我的源文件中,我添加了:

const string Class::DEFAULT_PATH = "./";
string Class::path = DEFAULT_PATH;

我发现这是违反直觉的,但试图解决它。然后我想知道:

  • 编译器究竟是什么时候调用这个初始化代码的?我如何假设这些字段何时会有值?我真的不明白那里发生了什么,我想知道。

  • 最让我感兴趣的是:当包含 class.hpp 时,我可以在 Class.cpp 中看到哪些符号?为什么这些声明在类主体之外并在另一个文件中?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com