91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

static的用法

發布時間:2020-07-28 17:31:14 來源:網絡 閱讀:342 作者:神跡難覓 欄目:編程語言

static 的用法

static關鍵字是C, C++中都存在的關鍵字, 它主要有三種使用方式, 其中前兩種只指在C語言中使用, 第三種在C++中使用(C,C++中具體細微操作不盡相同, 本文以C++為準).
(1)局部靜態變量  
(2)外部靜態變量/函數
(3)靜態數據成員/成員函數
下面就這三種使用方式及注意事項分別說明

(1)局部靜態變量

        定義在代碼塊中,只做用于代碼塊內

        

#include<iostream>

using namespace std;


int global = 3;

static int s_external = 4;

void func(){

static int sta = 1; //這里就是局部靜態變量 只初始一次,

sta++;

cout << sta << endl;

}

int main(){

func();//這里會輸出2

       func();//這里會輸出3

system("pause");

return 0;

}

如此就可以看出靜態局部變量的作用了。


(2)外部靜態變量/函數


    這里的靜態變量和函數,就不是用于區分存儲的可持續了,而是區分是否是內部鏈接的(通俗說就是外部不可用)

    用例子說明:

    在test1.cpp 

#include<iostream>

using namespace std;


int global = 3; //靜態外部變量 能在外部文件中使用

static int s_global = 4;//靜態內部變量只能在本文件中使用

extern void external_global(){  //靜態外部函數

cout << "func_external_global" << endl;

}

static void external_static(){ //靜態內部函數

cout << "func_internal_static" <<endl;

}


在test2.cpp

    

#include<iostream>

using namespace std;

int main(){

extern int global ;//引用文件外的外部鏈接的變量。

cout << global << endl;

//extern int s_global;

//cout << s_global << endl; 這些都是不允許的因為s_global 只能在test1.cpp中使用

extern void external_global();

extern void external_static(); //引用這些外部的函數。這里雖未報錯,但無法使用

external_global();

//external_static(); //因為是靜態的函數無法使用。

system("pause");

return 0;

}

    

下面順便添加個與此無關的。

2.Menu.h內容如下:

      #ifndef  MENU_H
   #define MENU_H

  //int global=13

   static global =13
   int add(int a,int b);
   int minus(int a, int b);
   #endif

3.add.cpp內容如下:

#include "Menu.h"
int add(int a, int b)
{
  return a+b;
}

4.minus.cpp內容如下

#include "Menu.h"
int minus(int a,int b)
{
  return a-b;
}

4.main.cpp內容如下:

#include <iostream.h>
#include "Menu.h"
int main()
{
int a,b;
a=1;
b=2;
printf("%d",add(1,2));
printf("%d",minus(1,2));

return 0;
}


這種情況下代碼沒有問題。

但是一旦你紅色代碼部分,不注釋就不可以用了。你必須將add.cpp 和 minus.cpp的#include"Menu.h" 去掉,這樣才可以防止重復被定義。因為這些.cpp文件會多次重新定義int global .會有多次include"Menu.h"


當然你也可以把他定義為static 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

墨竹工卡县| SHOW| 富宁县| 湾仔区| 西乌珠穆沁旗| 莱州市| 莱芜市| 柘城县| 浦东新区| 盱眙县| 贡山| 邛崃市| 翁牛特旗| 若尔盖县| 吴江市| 色达县| 大化| 定襄县| 安徽省| 临高县| 额尔古纳市| 常德市| 葵青区| 隆子县| 合川市| 湛江市| 阜阳市| 青田县| 高清| 安岳县| 崇仁县| 灵璧县| 延庆县| 奎屯市| 义马市| 南和县| 若羌县| 金堂县| 文水县| 赣州市| 奉节县|