当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

C++中的 static 关键字

前言:
 
  本文只是本人对C++中关于静态类型的一个总结,如错误之处,请大家帮我改正。我分两个方面来总结,第一方面主要是相对于面向过程而言,即在这方面不涉及到类,第二方面相对于面向对象而言,主要说明static在类中的作用。
 
  一、在面向过程设计中的static关键字
 
  1、静态全局变量
 
  定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。
 
  特点:
 
  A、该变量在全局数据区分配内存。
 
  B、初始化:如果不显式初始化,那么将被隐式初始化为0.
 
  C、访变量只在本源文件可见,严格的讲应该为定义之处开始到本文件结束。
 
  例(摘于C++程序设计教程——钱能主编P103):
 
 //file1.cpp   
#include<iostream.h>
void fn();
extern int n;
void main()
{
  n=20;
  cout << n << endl;
  fn();
}
//file2.cpp
#include<iostream.h>
static int n; //定义静态全局变量,初始化为0;
void fn()
{
  n++;
  cout << n << endl;
}


  文件分别编译能通过,但连接时file1.cpp 中的变量n找不到定义,产生连接错误。
 
  D、文件作用域下声明的const的常量默认为static存储类型。

共3页 首页 上一页 1 2 3 下一页 尾页 跳转到
相关内容
赞助商链接