原創作者: 晁智平 如轉貼請保留此行
const是用於保護程序的健壯性,減少程序隱患。
const的用法比較複雜,總結起來又分為以下兩種:
1:在定義變量時使用:
a: const int a=100; 最簡單的用法,說明變量a是一個常變量;
b: int const b=100; 與a功能相同;
c: const int *a=&b; 指向常數的指針,即指針本身的值是可以
改變的,但指向的內容是不能改變的;
d: int const *a=&b; 與c功能相同;
e: int * const a = &b; 常指針,即指針本身的值是不可改變的,
但指向的內容是可改變的;
f: const int * const a = &b;指向常數的常指針,即指針本身與
指向的內容都是不可改變的;
g: const int &a=100; 常數引用,即不能改變引用的值;
總結: 在使用const定義變量時,一定要進行初始化操作,在操作
符(*,&)左邊的修飾的是指向的內容,在右邊的是本身。
2:在函數用使用:
a: void func(const int a); 做為參數使用,說明函數體內是不
能修改該參數的;對不參數定義時不同的形式,可參見定義變量
時使用方式;
b: const int func(); 做為返回值使用,說明函數的返回值是不
能被修改的,在取得返回值時應用const int a = func();對不
參數定義時不同的形式,可參見定義變量時使用方式;
c: int func() const; 常函數,說明函數是不能修改類中成員的
值的,只能用於類的成員函數中;
總結:在函數中使用const,情況與定義變量的情況大致相同。
const是用於保護程序的健壯性,減少程序隱患。
const的用法比較複雜,總結起來又分為以下兩種:
1:在定義變量時使用:
a: const int a=100; 最簡單的用法,說明變量a是一個常變量;
b: int const b=100; 與a功能相同;
c: const int *a=&b; 指向常數的指針,即指針本身的值是可以
改變的,但指向的內容是不能改變的;
d: int const *a=&b; 與c功能相同;
e: int * const a = &b; 常指針,即指針本身的值是不可改變的,
但指向的內容是可改變的;
f: const int * const a = &b;指向常數的常指針,即指針本身與
指向的內容都是不可改變的;
g: const int &a=100; 常數引用,即不能改變引用的值;
總結: 在使用const定義變量時,一定要進行初始化操作,在操作
符(*,&)左邊的修飾的是指向的內容,在右邊的是本身。
2:在函數用使用:
a: void func(const int a); 做為參數使用,說明函數體內是不
能修改該參數的;對不參數定義時不同的形式,可參見定義變量
時使用方式;
b: const int func(); 做為返回值使用,說明函數的返回值是不
能被修改的,在取得返回值時應用const int a = func();對不
參數定義時不同的形式,可參見定義變量時使用方式;
c: int func() const; 常函數,說明函數是不能修改類中成員的
值的,只能用於類的成員函數中;
總結:在函數中使用const,情況與定義變量的情況大致相同。
沒有留言:
張貼留言