原創(chuàng)作者: 晁智平
const是用于保護(hù)程序的健壯性,減少程序隱患。
const的用法比較復(fù)雜,總結(jié)起來又分為以下兩種:
1:在定義變量時(shí)使用:
a: const int a=100; 最簡單的用法,說明變量a是一個(gè)常變量;
b: int const b=100; 與a功能相同;
c: const int *a=&b; 指向常數(shù)的指針,即指針本身的值是可以
改變的,但指向的內(nèi)容是不能改變的;
d: int const *a=&b; 與c功能相同;
e: int * const a = &b; 常指針,即指針本身的值是不可改變的,
但指向的內(nèi)容是可改變的;
f: const int * const a = &b;指向常數(shù)的常指針,即指針本身與
指向的內(nèi)容都是不可改變的;
g: const int &a=100; 常數(shù)引用,即不能改變引用的值;
總結(jié): 在使用const定義變量時(shí),一定要進(jìn)行初始化操作,在操作
符(*,&)左邊的修飾的是指向的內(nèi)容,在右邊的是本身。
2:在函數(shù)用使用:
a: void func(const int a); 做為參數(shù)使用,說明函數(shù)體內(nèi)是不
能修改該參數(shù)的;對(duì)不參數(shù)定義時(shí)不同的形式,可參見定義變量
時(shí)使用方式;
b: const int func(); 做為返回值使用,說明函數(shù)的返回值是不
能被修改的,在取得返回值時(shí)應(yīng)用const int a = func();對(duì)不
參數(shù)定義時(shí)不同的形式,可參見定義變量時(shí)使用方式;
c: int func() const; 常函數(shù),說明函數(shù)是不能修改類中成員的
值的,只能用于類的成員函數(shù)中;(說實(shí)話,沒有理解)
總結(jié):在函數(shù)中使用const,情況與定義變量的情況大致相同。
聯(lián)系客服