定義一常量避免被無意修改,定義時必須被初始化;
const int temp = 512;定義乙個指向const物件的引用,可讀取但不可以修改;temp = 0; // error:attempt to write to const object
const int temp = 512;
const int &rtemp = temp;
int &rtemp2 = temp; // error:nonconst regerence to const object
全域性作用域定義的const變數是定義該物件的檔案的區域性變數,不可被其它檔案訪問,但通過指定為extern則可以在整個程式中訪問const物件。
對比:// file1.cpp
int one = 10;
extern const int two = 20;
// file2.cpp
extern int one;
extern const int two;
注意:如果const變數不是用常量表示式初始化,不應該在標頭檔案不定義。
const指標:指標本身不可以修改,但指向的值可修改。
指向const物件的指標:不允許用指標修改所指向的值,指標本身可修改(指向另乙個const物件)。
對比:// const指標
int numb = 20;
int *const one = &numb;
one = one; // error:one is const
*one = 0; // ok
// 指向const物件的指標
const double *one;
*one = 10; // error:*one might be const
const double pi = 3.14;
double *ptr = π // error:ptr is a plain pointer
const double *cptr = π // ok
即不能修改所指物件的值,也不能修改該指標的指向。
const double pi = 3.14;
const double *const pi_ptr = π
陣列元素都是const物件,無法重新賦值。
const int *array = new const int[100](); // ok:value-initialized
可轉換掉表示式的const性質,除了新增或刪除const特性,用const_cast符來執行其它任何型別轉換都會引起編譯錯誤。
const char *par;
char *pc = string_copy(const_cast(par));
const引用避免複製。
bool shorter(const string &s1, const string &s2);
int greater(const void* p1, const void* p2);
返回值為const:返回值不能被修改,當然也不能為左值。
const char &get(int n);
const函式。
void get(int n) const;
jQuery之常用方法總結
1.獲取dom元素 操作方法 jq選擇器 根據選擇器型別快速獲取需要的元素 selector content box imgbox box a a box eq n 獲取集合中索引為n的 gt n 大於這個索引的 lt n 小於這個索引的 節點之間關係的屬性 用jq選擇器獲取的元素,我們設定變數名的...
Const 使用方法總結
const 使用方法總結 const限定符的特點在於 強制最低訪問權原則。用這個原則正確的設計軟體可大大減少除錯時間和不良 並且能夠使程式易於修改和除錯。給函式傳遞的指標有如下四種情況 指向非常量資料的非常量指標 指向非常量資料的常量指標 指向常量資料的非常量指標 指向常量資料的常量指標 1 如果傳...
重溫C primer 之const總結
1.const變數,即常變數 變數值保持不變,不能被修改 a.const變數預設時是定義該變數的檔案的區域性變數 b.非const 指標無法指向const 變數,只有const 指標能指向const 變數。c.一些const 變數定義在標頭檔案中,const變數通過常量表示式自我初始化時.2.a.a...