全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1351
推到 Plurk!
推到 Facebook!

有關 Const 的問題…

答題得分者是:anderslee
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-11 09:31:55 IP:61.218.xxx.xxx 未訂閱
各位Delphi先進、高手們: 宣告成Const 的變數,是屬於常量變數,也就是不可以修改其數值。但是若宣告成 Const I : Integer = 10時即可修可其I的值,這是為什麼?
------
~小弟淺見,參考看看~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-11-11 09:40:00 IP:202.39.xxx.xxx 未訂閱
參考: 在錢達智先生有關編譯指令的文件中有說明: const 在先前的 Pascal 版本中, 以 const VarName: DataType = const value; 定義的具型態常數的確是可以改的, 假如您希望它不被允許修改,  請將 Compiler directive 設為 {$J-} 不論是 {$J+} 或 {$J-}, 以const VarName = const value;  定義的常數(沒有加上型別宣告), 是一個真正的常數, 其他的程式 不可以改變其內容。 其實 {$J+} 時還有一個妙用, 那就是宣告出類似 C 語言 static  的變數, 換句話說, 產生了一個與 Application 相同生命週期的 變數。在這種情形下, 變數只在第一次使用時才會建立, 函數或程 序結束時, 該變數也不會消滅, 下一次再呼叫到這個函數或程序時 , 我們仍然可以參考到上次執行結束時的值。    -- Everything I say is a lie.
anderslee
初階會員


發表:2
回覆:32
積分:26
註冊:2002-06-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-11 16:37:07 IP:202.64.xxx.xxx 未訂閱
引言: 各位Delphi先進、高手們: 宣告成Const 的變數,是屬於常量變數,也就是不可以修改其數值。但是若宣告成 Const I : Integer = 10時即可修可其I的值,這是為什麼?
Const 有兩種 (1) Const MaxNum = 10; 其實和程式語言無關, 程式中出現 MaxNum 編程就把 10 代入 (類似 Macro 的用法) 任何情況下 MaxNum 都不可放在 assignment 左方,i.e. MaxNum := 11; 不可!!! (2) Const MaxNum : Integer = 10; MaxNum 變成一個 Global Variable, 子程式進出入時仍會保留內容/數值。 Delphi 7 內定為 {$J-} 而 Delphi6 及以前則內定 {$J } 當{$J } 時 maxNum 和其他 Var 無異, $J- 時數值不能變更
系統時間:2024-04-28 3:46:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!