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 區域性作用域 塊作用域 函式形參列表中形參的作用域,從形參列表中的聲名處開始,到整個函式體結束處為止 函式體內宣告的變數,其作用域從宣告開始,直到宣告所在的塊結束的大...