来自类(c ++)的静态变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自类(c ++)的静态变量相关的知识,希望对你有一定的参考价值。

我正在尝试创建一个类,并在其内部定义静态变量以在任何地方使用它们,而无需从该对象创建对象并像这样从该对象访问变量:

ConfigClass::serverHost+"/server.php";

为此,我在该类的标题中编写了此代码:

static inline QString serverHosts="http://server.com";

当我在Linux上使用gcc构建项目时,没有问题但是当我在不支持的Windows上使用msvc(Visual Studio 2017 msvc v141)构建它时(bug

什么是定义静态变量并在任何地方使用它们的最佳方法?

我知道extern,有什么更好的?

答案

您可以在声明后在类文件中定义它:

class A 
public:
    static QString serverHosts;
;
Qstring A::serverHosts('http://server.com');

注意:建议在.h中定义它,但如果可能,最好在.cpp中定义

以上是关于来自类(c ++)的静态变量的主要内容,如果未能解决你的问题,请参考以下文章

在类中使用私有静态变量是否合适?

c语言static在java语言区别

java中静态成员变量、实例变量、局部变量何时创建、何时销毁?

在 Python 函数中使用可变函数参数来模仿类 C 的静态变量

java中的全局变量和静态变量是在编译时分配内存还是在加载时分配内存??

C语言中,哪种存储类的作用域与生命周期是不一致的?