傳常量與變數的區別

2021-06-09 11:29:41 字數 528 閱讀 2892

向建構函式或其他函式中傳入引數時,如果是執行時繫結,則傳常量與變數是有區別的。例如:

#include #include #include class con

void say()

private:

const std::string& m_name;

};int main()

這個的執行結果是(結果不一樣,可能是因為編譯器,系統平台所造成的,但上面的語法確實是錯誤的,這東西可能星期一到星期五都可以正常執行,但星期六總會出錯,簡單的說:程式設計師很喜歡這樣的bug)

當呼叫say()時,常量「hello world!」可能已經被編譯器釋放了,所以say的時候,就看不見期望的結果了。這是變數生命期造成的。

常量與變數的區別

通過前面一系列的學習了解了php的常量和變數,那麼你們知道php常量與變數有什麼關係和區別嗎?別急,下面就帶著大家看看php常量與變數的關係和區別 再來了解一下什麼是變數和常量 在程式執行的過程中,變數儲存的值可以隨時改變,而常量儲存的值是不可以改變的。變數用於儲存臨時資料資訊。某一變數被定義的時候...

C 常量與變數的區別

程式設計師面試或筆試,一般都會考到常量與變數的區別。1.常量的值不可以修改,任何嘗試修改常量的操作都會導致編譯錯誤。而變數可以通過賦值來改變。2.常量定義後就不可修改,所以常量在定義時就必須初始化。變數可以定義時暫時不進行初始化。常量初始化的時候必須直接賦值。const char a t corre...

區域性變數 與常量區別

如果乙個變數不是在類中定義,而是在某個語句塊或方法中,則該變數就是區域性變數。區域性變數的作用範圍 從定義該區域性變數開始,直到所處的塊結束。因為區域性變數的作用域特性,所以無法使用訪問許可權修飾符,包括static修飾符。相比於全域性變數,區域性變數沒有預設值,必須手動進行初始化賦值。區域性變數的...