gpt4 book ai didi

c++ - 类中的全局和外部

转载 作者:太空宇宙 更新时间:2023-11-04 13:55:47 24 4
gpt4 key购买 nike

如果我将一个类变量声明为 extern 以便它可以访问某些在其他文件中声明的 global 变量会怎么样?这种情况是随时都会出现还是只是一个假设的情况?

假设我有一个头文件 global.h

extern int myglobalint;

我有一个cpp文件my.cpp

这里我声明了一个类A

class A{
//use that variable here....is it possible
}

最佳答案

是的,它时常出现,尤其是在困惑的代码中。 :D

也许更像 C++ 的风格是将这些类型的变量放在一个类中,例如在 global.h 中:

class Global { // You can do this with 'struct' & omit 'public'
public:
static int myglobalint;
};

在 global.cpp 中:

int Global::myglobalint = 0xbeef;

使用 extern 或类成员确实没有任何优势 - 但除非它是某种全局设置或标志,否则如果你求助于全局存储状态,你可能需要在设计中考虑一些。

如果您确实需要全局变量,例如,确实没有其他地方可住的状态或配置,我会选择类静态方法而不是一堆外部变量。

关于c++ - 类中的全局和外部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21519350/

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