關於C const 的全面總結

2021-08-02 12:13:50 字數 1331 閱讀 5370

原文出處:

我們知道在c++中const定義的變數一般是不分配記憶體的,和c語言中的#define。但是在c語言中const是預設分配的。

但是當我們的類中有const定義的資料時候,一般是要進行記憶體分配的。因為在const定義的變數一般是進行初始化操作的。不然就會報錯。那什麼時候對類中定義的變數進行初始化呢?

在類中定義const變數有以下兩個好處:

1.靜態資料成員沒有進入程式的全域性名字空間,因此不存在與程式中的其他全域性名字衝突的可能性。

2.可以實現資訊的隱藏。

[cpp]view plain

copy

print?

#include

using

namespace

std;  

class

sb;  

void

sb::print()  

intmain()    

上面的**和下面的**是一樣的。下面的**還節約記憶體

[cpp]view plain

copy

print?

#include

using

namespace

std;  

class

sb;  

void

sb::print()  

intmain()    

所以上面在類中直接定義是沒有意義的。我們知道在類創立的時候我們最先執行的就是建構函式。但是是在建構函式中定義?這個也是錯誤的必須在建構函式體執行之前定義的,也就是在函式呼叫列表中定義的。具體如下

[cpp]view plain

copy

print?

#include

using

namespace

std;  

class

sb;  

sb::sb(int

ii):i(ii){}  

void

sb::print()  

intmain()    

而上文中的

[cpp]view plain

copy

print?

sb::sb(

intii):i(ii){}  

如果改為

[cpp]view plain

copy

print?

sb::sb(

intii)  

則會報錯的。

關於C const 的全面總結

c 中的const關鍵字的用法非常靈活,而使用const將大大改善程式的健壯性,本人根據各方面查到的資料進行總結如下,期望對朋友們有所幫助。const 是c 中常用的型別修飾符,常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值是不能被更新的。一 const作用 如下表所示 no....

關於C const 的全面總結

c 中的const關鍵字的用法非常靈活,而使用const將大大改善程式的健壯性,本人根據各方面查到的資料進行總結如下,期望對朋友們有所幫助。const 是c 中常用的型別修飾符,常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值是不能被更新的。一 const作用 如下表所示 no....

C 關於C const 的全面總結

c 中的const關鍵字的用法非常靈活,而使用const將大大改善程式的健壯性,本人根據各方面查到的資料進行總結如下,期望對朋友們有所幫助。const 是c 中常用的型別修飾符,常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值是不能被更新的。一 const 作用 載自 看錶還能!...