**測試:
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...