4 回答
TA貢獻1876條經驗 獲得超7個贊
我說一下幾種情況吧:
1. const int k = 5; 表示k是個值為5的常量,而且在程序的運行過程中是不能更改的
2.void fun(const int k) 這個函數的定義表示為這個函數在運行時,k值不能修改
3.如果上面fun函數是一個類里面的成員函數,那么 void fun() const 就表示這個函數在運行過程中不能修改類中的數據項(屬性).
4.其他的情況就見得不多了吧,搞清楚這幾個情況就行了,到了具體問題在就具體分析了
TA貢獻1789條經驗 獲得超10個贊
const類型定義:指明變量或對象的值是不能被更新,引入目的是為了取代預編譯指令
1)修飾一般常量,常數組,常對象
修飾符const可以用在類型說明符前,也可以用在類型說明符后。 例如:
int const x=2; 或 const int x=2;
int const a[5]={1, 2, 3, 4, 5}; 或 const int a[5]={1, 2, 3, 4, 5};
class A; const A a; 或 A const a;
(2)修飾指針
const int *A; 或 int const *A; //const修飾指向的對象,A可變,A指向的對象不可變
int *const A; //const修飾指針A, A不可變,A指向的對象可變
const int *const A; //指針A和A指向的對象都不可變
(3)修飾引用
const double & v; 該引用所引用的對象不能被更新
?。?)修飾函數的返回值:
const修飾符也可以修飾函數的返回值,是返回值不可被改變,格式如下:
const int Fun1();
const MyClass Fun2();
(5)修飾類的成員函數:
const修飾符也可以修飾類的成員函數,格式如下:
class ClassName
{
public:
int Fun() const;
};
這樣,在調用函數Fun時就不能修改類里面的數據
(6)在另一連接文件中引用const常量
extern const int i; //正確的引用
extern const int j=10; //錯誤!常量不可以被再次賦值
- 4 回答
- 0 關注
- 540 瀏覽
添加回答
舉報

