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时,导致它在该代码块不处于活动状态时仍然存在。因此在两次函数调用之间,静态局部变量的值将保持不变。另外,如果初始化了静态局部变量,则程序只在启动时进行一次初始化。以后再调用函数时,将不会像自动变量那样再次被初始化。

  • 相关阅读:
    《C#并发编程经典实例》学习笔记—2.4 等待一组任务完成
    Captcha服务(后续2)— 改造Captcha服务之Asp.Net Core项目中如何集成TypeScript
    VS Code调试.Net Core版Hello World
    Visual Studio Code 语言设置
    Captcha服务(后续1)
    css——格式
    作业 5/13
    css选择器
    作业 5/12
    前端——表格标签,表单标签,css
  • 原文地址:https://www.cnblogs.com/SChenqi/p/9750164.html
Copyright © 2011-2022 走看看