zoukankan      html  css  js  c++  java
  • C++静态持续变量

    C++为静态持续存储持续性变量提供了3种链接性:外部链接(可在其他文件中访问)、内部链接(只能在当前文件中访问)和无链接性(只能在当前函数或代码块中访问)。

     1 ...
     2 int globle = 100;          //静态持续性变量,具有外部链接性
     3 static int one_file = 50;        //静态持续性变量,具有内部链接性
     4 int main()
     5 {
     6 ...
     7 }
     8 void func1(int n)
     9 {
    10   static int count = 0;          //静态持续性变量,不具有链接性
    11 }

    如果要在多个文件中使用外部变量,只需要在一个文件中包含该变量的定义,但在使用该变量的其他文件中,都必须使用关键字extern声明它:

    //file01.cpp
    extern int cats = 20;    //definition because of initialization
    int dogs = 22;    //also a definition 
    int fleas;    //also a definition 
    ...
    //file02.cpp
    extern int cats;    //not definition because they use
    extern int dogs;    //extern and have no initialization
    ...
    //file98.cpp
    extern int cats;
    extern int dogs;
    extern int fleas;
    ...

     无链接性的局部变量将static限定符用于在代码块中定义,在代码块中使用static时,导致它在该代码块不处于活动状态时仍然存在。因此在两次函数调用之间,静态局部变量的值将保持不变。另外,如果初始化了静态局部变量,则程序只在启动时进行一次初始化。以后再调用函数时,将不会像自动变量那样再次被初始化。

  • 相关阅读:
    php 克隆和引用类
    php 抽象类、接口和构析方法
    php 面向对象之继承、多态和静态方法
    php封装练习
    php 面向对象之封装
    php 简单操作数据库
    php 练习
    用php输入表格内容
    php 指针遍历、预定义数组和常用函数
    php 数组定义、取值和遍历
  • 原文地址:https://www.cnblogs.com/SChenqi/p/9750164.html
Copyright © 2011-2022 走看看