static 关键字
Posted heben
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了static 关键字相关的知识,希望对你有一定的参考价值。
阅读《C++ primer plus》可知 C++的static关键字跟Java几乎完全不同
例子,文件A内容如下
#include "stdafx.h" #include <iostream> #include <string> using namespace std; string language = "us"; void display(); int main() { cout << "language in main: " << language << endl; display(); cin.get(); return 0; }
文件B
#include "stdafx.h" #include <iostream> #include <string> using namespace std; static string language = "cn"; void display() { cout << "language in support: " << language << endl; }
输出
倘若文件B里去掉static关键字,将出现重复定义。B文件里static的意思是告诉编译器,
1.该language作用域为B文件;
2.在程序运行期间持续驻留内存
3.覆盖A文件中定义的全局变量language,因此在B文件中的language都是"cn"
以上是关于static 关键字的主要内容,如果未能解决你的问题,请参考以下文章