gpt4 book ai didi

C++ - 全局变量作用域

转载 作者:行者123 更新时间:2023-11-28 06:55:34 24 4
gpt4 key购买 nike

我有一些任务:有很多.cpp 文件,所以我必须在每个文件中找到所有全局变量的声明。例如,我有这部分代码:

class word {
public:
word(string code0, string text0, int weight0) : code(code0), text(text0),
weight(weight0), index(word::num) {};
friend bool operator<(word w1, word w2);
friend ostream &operator<<(ostream &stream, word w);
friend bool wordWithCode::operator()(const word &w);
static bool convertChars(char *inp, char *out);
inline bool checkCode(char *check) { return !strcmp(code.c_str(),check); };
inline const char* getText() { return text.c_str(); };
inline void useIt(set< word >::iterator &i) {
cout << this->text;
if (code[0]!='1') {
word::num++;
word::words.insert(word(this->code,this->text,this->weight+1));
word::words.erase(i);
}
return;
};
static set< word > words;
string code;
string text;
int weight;
static int num;
private:
int index;
};

int word::num = 0;
set< word > word::words;

int main(){
...
return 0;
}

所以我的问题是:静态变量 word::num 和 word::words 是全局的吗?以及如何正确识别他们的名字(只是“num”或“word::num”)?

最佳答案

是的,它们是单个全局变量,您可以在 word 函数之外将它们引用为 word::numword::words。在 word 的函数中,您可以像 numwords

一样引用它们

关于C++ - 全局变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23232590/

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