static在不同地方的含義

2021-08-30 21:17:17 字數 1093 閱讀 8165

1. 原始檔中定義函式使用的static表示的是訪問許可權:只有在該原始檔中的**才可以訪問該函式,它和extern修飾的函式相對應。(注意這裡的static函式不指類的靜態成員)

2. 函式中定義的靜態變數使用的static表示該變數是存放在全域性變數儲存區,在[color=red]程式執行過程[/color]中都是始終存在的,但是只能在該函式內訪問到,它和普通的函式中的區域性變數在[color=red]函式執行[/color]時有效,函式結束時就失效是不同的

3. 類中使用的static來定義靜態成員,表示該成員是屬於類的,而不是屬於某個物件。當然該類的每個物件都享有這個靜態的成員。我們不需要這個類的例項,就可以直接通過類名來訪問這個成員。

[color=red]下面是摘抄的一篇關於c++中static關鍵字的用法的文章:[/color]

c++的static有兩種用法:面向過程程式設計中的static和物件導向程式設計中的static。前者應用於普通變數和函式,不涉及類;後者主要說明static在類中的作用。

一、面向過程設計中的static

1、靜態全域性變數

在全域性變數前,加上關鍵字static,該變數就被定義成為乙個靜態全域性變數。我們先舉乙個靜態全域性變數的例子,如下:

//example 1

#include

void fn();

static int n; //定義靜態全域性變數

void main()

void fn()

void fn()//定義靜態函式

;int myclass::sum=0;//定義並初始化靜態資料成員

myclass::myclass(int a,int b,int c)

void myclass::getsum()

;int myclass::sum=0;//定義並初始化靜態資料成員

myclass::myclass(int a,int b,int c)

void myclass::getsum() //靜態成員函式的實現

{// cout<)為乙個類的物件或指向類物件的指標呼叫靜態成員函式,也可以直接使用如下格式:

<類名>::<靜態成員函式名>(<參數列>)

呼叫類的靜態成員函式。

swift不同地方 命名空間module iOS

終於說到swift,swift中由於可以使用命名空間,即時名字相同的型別,只要是來自不同的命名空間,都可以和平共處.跟c 的顯式指定命名空間不同,swift的命名空間基於module而不是顯式指明,二每個module代表了swift中的乙個命名空間,也就是說,同乙個target裡的型別名稱還是不能相...

const在c與c 中的不同地位

我們都知道,const關鍵字是防止某個變數被修改的,即限定這個變數是唯讀的。c c 中應用const會使程式的健壯性更高一些。一 const修飾一般變數 在c中,const修飾一般變數是常變數,它具有變數屬性,但同時,它又具有常性不可被修改。在c 中,加const修飾以後變數就是個常量,不可被修改。...

static靜態變數在不同位置的不同作用

static可以在很多位置發揮作用,下面我來一一講解它們的作用。靜態區域性變數 1.分配空間在靜態資料棧上 2.作用域只侷限於當前的函式範圍內 區域性 3.生命週期為整個程式,不會隨著當前的函式結束而結束 4.首次初始化時賦值生效,以後的初始化賦值自動跳過 例項 void totaltimes do...