原文出處:
我們知道在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 作用 載自 看錶還能!...