C const修飾引用和指標

2021-09-24 22:45:45 字數 949 閱讀 7862

**測試:

void constbeforefunction(const double* x, const std::array* d_condition, const std::array& s_condition){

/*以下報錯*/

*x = 1.0;

d_condition->at(0) = 1;

d_condition->at(1) = 2;

d_condition->at(2) = 3;

s_condition.at(0) = 4;

/*以下不報錯*/

double t = 0;

x = &t;

return;

void constafterfunction(double* const x, std::array* const d_condition, std::array& const s_condition){

/*以下不報錯*/

*x = 1.0;

d_condition->at(0) = 1;

d_condition->at(1) = 2;

d_condition->at(2) = 3;

s_condition.at(0) = 4;

s_condition.at(1) = 5;

s_condition.at(2) = 6;

/*以下報錯*/

double t = 0;

x = &t;

return;

如果const在指標符*和引用符&之前,即第乙個示範,則表示該指標內所指向的值是不可修改的,但是指標變數內的位址是可以修改的;

如果const在指標符*和引用符&之後,即第二個示範,則表示該指標變數即位址是不可修改的,但是指標位址上儲存的值是可以修改的;

對於第二種情況,const指標,位址不可修改,但值可以修改,則類似於引用,因為引用的底層實現是const 指標。

C const修飾符和指標

c const修飾符和指標 開發工具與關鍵技術 c visualstudioconst修飾符,是用來修飾變數,被const修飾符,修飾過的變數,就叫做常量,常量是一種只能被讀取,不能被修改的量。在c 宣告乙個常量時,不但要const修飾符還有在宣告時就要給它進行初始化,你不給它初始化,編譯器就會報錯...

c const的使用(引用,指標)

1 const 物件,一旦建立後,值就不能在改變,所以要對const物件進行初始化 const int i get size 初始值可以是任意複雜的表示式 const int j 42 對 const int k 錯 2 例 const int bufsize 512 編譯器會在編譯過程中,把所有用...

C const引用詳解

文章 http blog.csdn.net k2eats archive 2008 06 12 2541790.aspx 1 在實際的程式中,引用主要被用做函式的形式引數 通常將類物件傳遞給乙個函式 引用必須初始化 但是用物件的位址初始化引用是錯誤的,我們可以定義乙個指標引用。1int ival 1...