一、左值:寫資料,放在賦值符號的左邊。
右值:讀資料,放在賦值符號的右邊。
int a = 10;
int b = a;//a為讀資料是右值
a = 20;//a為寫資料是左值
二、const:把變數變為唯讀(只限定左值)
const c = 10;
a = c;
c = 20;//錯誤
const int c // 錯誤,沒有定義為隨機值而且不能改,無意義
1、基本型別對於const是透明的,const放在左邊右邊是一樣的
int const c = 10;//等同於c
2、const只能限定修飾的直接右邊
int a = 10;
int b =20;
const int *p=&a;
p = &a;// 正確
p1 = 100;//錯誤 const限定直接右邊是p不可改值
3、許可權可以同等或者縮小傳遞,但不能放大
int a = 10;
const int ca=10;
int *p1=& a;
int *p2=& ca;// 錯誤,不能寫只能讀資料
const int *p3=& a;
const int *p4=& ca;
int *const p5=& a;
int *const p6=& ca;//錯誤
總結 自增自減操作以及左右值的區別
一 自增自減前操作與後操作的區別 在c c 中,自增 自減 操作符為資料物件加1和減1操作提供了一種方便簡潔的實現方式。他們都有前置和後置兩種形式。下面給出簡單的 實現 includeint main 所以,從上面的 中可以看出 前自增自減操作優先順序大於賦值運算子 而後置自增自減操作的優先順序小於...
改變const值的方式
一種改變const值的方式是使用const cast型別轉換符,將const變數轉換為乙個該變數的引用,通過這個引用去改變值,這種方法的實質就是用位址改變記憶體的值。如下例項 structsa const sa sa cout sa.i endl sa sb const cast sa sb.i 1...
const 的定值判斷
指標指向及其指向變數的值的變化 const在 的左邊,則指標指向的變數的值不可直接通過指標改變 可以通過其他途徑改變 在 的右邊,則指標的指向不可變。簡記為 左定值,右定向 1 指標指向的變數的值不能變,指向可變 int x 1 int y 2 const int px x int const px...