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 关键字的主要内容,如果未能解决你的问题,请参考以下文章

面向对象基础——static关键字和代码块的使用

代码片段 navbar

static关键字,代码块,abstract关键字,interface,内部类,异常处理

static关键字静态代码块

Java——static关键字

static关键字