資料的共享與保護

2021-06-26 18:04:08 字數 785 閱讀 5404

1.生存期

(1)靜態生存期

定義:若物件的生存期與程式的執行期相同,則稱它具有靜態生存期

方式:使用關鍵字static

在命名空間作用域宣告的物件都具有靜態生存期

(2)動態生存期

區域性生存期物件誕生於宣告點,結束於宣告所在的塊執行完畢之時。

例:/*

變數的生存期與可見性

*/#include using namespace std;

int i=1;//i為全域性變數,具有靜態生存期

void other(){

static int a=2;

static int b;//a,b為靜態全域性變數,具有全域性壽命,區域性可見,只在第一次進入函式時被初始化

int c=10;//c為區域性變數,具有動態生存期,每次進入函式時都會被初始化

a+=2;

i+=32;

c+=5;

cout<<"-------other--------"<

2.宣告常量 const

注意:常量必須進行初始化,而且不能被更新

例:const int n=9;//正確,用10對常量n進行初始化

n=20;         //錯誤,不能對常量進行賦值

(在定義乙個變數或常量時為其指定初值叫做初始化,而在定義乙個變數或常量以後使用賦值運算子修改它的值叫做賦值)

(1)常成員函式

型別說明符 函式名(參數列)const;

(2)常引用(所引用的物件不能被更新)

const 型別說明符 &引用名

資料共享與保護

作用域 是識別符號的有效範圍 可見性 識別符號是否可以引用的問題 程式執行到某一點。能夠引用到的識別符號,就是該處可見的識別符號。函式原型的作用域 函式原型中的引數,其作用域始於 結束於 例如,設有下列原型宣告 double area double radius radius 的作用域僅在於此,不能...

C C 資料的共享與保護

當程式中遇到常量時 如果程式複雜,用到的常量比較多的化,不能很簡單的看出某個常量時用來做什麼的。在實際中應該盡量避免產生這種magic number,可以使用c語言提供的預定義功能 define pi 3.14 auto f double radius 預定義有自己的侷限 比如不能進行型別檢查 更好...

資料的共享與保護(一)

1 作用域 指的是識別符號的有效範圍,乙個識別符號在程式正文中有效的區域 c 作用域 1 函式原型作用域 c 程式中最小的作用域 2 區域性作用域 塊作用域 函式形參列表中形參的作用域,從形參列表中的聲名處開始,到整個函式體結束處為止 函式體內宣告的變數,其作用域從宣告開始,直到宣告所在的塊結束的大...