※ 引述《tinlans.bbs@whshs.cs.nccu.edu.tw (汀)》之銘言:
: ※ 引述《stacker.bbs@cpp.twbbs.org (OOP才是王道。)》之銘言:
: > 那請問const float PI=3.14跟float PI=3.14,一個是有常數,一個是沒有常數。
: > 兩者在電腦裡是怎樣看待的呢?
: > 對不起,問得很白爛。
: 一樣,
: C/C++ 標準上來說編譯器只有在 compile-time 去檢查常數性,
: 並沒有說一定要把 const 變數放在 read-only data 區段,
沒一定,但也沒有不許implementation採取某種形式的
記憶體保護措施,以確保其值不被後續的操作破壞。
: 而且要是這樣做的話碰到 C++ 的 const_cast 會死掉...
宣告為 const 的 variable, 若用 const_cast 將 const 去掉,
並加以使用,會發生 undefined 的後果, 不是嗎?
(TC++PL 10.2.7.1)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.208.166