C 中使用const,格式總結

2021-10-23 01:38:43 字數 1469 閱讀 9007

int a =1;

int b =2;

const

int* p =

&a;*p =5;

//錯誤,無法通過p來改變a的值

p =&b;

//正確,p的指向可以進行修改

a =5

;//正確

int a =1;

int b =2;

int*

const p =

&a;p =

&b;//錯誤

*p =5;

//正確

a =5

;//正確

int a =1;

int b =2;

const

int*

const p =

&a;p =

&b;//錯誤

*p =5;

//錯誤

a =5

;//正確

可見,上面三種方法,只是針對p指標,但,對於a的值,始終是可以直接進行修改的

如果,要真正保證,a的值不能進行修改。

const

int a =

1;

在c++中,經常使用const指標(第一種),保證某些資料,在指標操作的過程中,其值不被改變。

#include

using

namespace std;

intmain

(int argc,

char

const

*ar**)

輸出:5

#include

using

namespace std;

intmain

(int argc,

char

const

*ar**)

輸出:5

1

const

int m =10;

int n = m;

變數是要占用記憶體的,即使被 const 修飾也不例外。m、n 兩個變數占用不同的記憶體,int n = m;表示將 m 的值賦給 n,這個賦值的過程在c和c++中是有區別的。

在c語言中編譯器會先到 m 所在的記憶體取出乙份資料,再將這份資料賦給 n;而在c++中,編譯器會直接將 10 賦給 m,沒有讀取記憶體的過程,和int n = 10;的效果一樣。

c++ 中的常量更類似於#define命令,是乙個值替換的過程,只不過#define是在預處理階段替換,而常量是在編譯階段替換。

const使用總結

const 的主要用法是防止物件再次被修改。下面總結一下const的常見使用情況 這樣這個變數在後面就不可以再被修改。const int val 10 val 20 錯誤,不可被修改如果使用引用傳遞引數或按位址傳遞引數給乙個函式,在這個函式裡這個引數的值若被修改,則函式外部傳進來的變數的值也發生改變...

flex中使用json格式

要用到json,看了一篇 的掃盲貼,在flex中使用json十分方便。json是介於純文字方式與xml方式之間的一種格式,json能做到的事情,xml完成可以做到。為什麼要用json呢,我看大部分還是像我一樣,不得不用。json是ajax資料傳輸的首選,現有的專案使用的已經是json,如果增加fle...

C 頂層const,頂層const,引用總結

頂層 const 表示的是指標本身是乙個常量,底層const 表示的是指標所指的物件是乙個常量。頂層const拷貝遵守原則 1.const常量不能改變。2.頂層可忽略。const int a 12 int b a 頂層忽略3 非常量可向常量轉換,const int c b 底層const拷貝,則要求...