PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] const擺放位置
作者:
anoymouse
(沒有暱稱)
2014-11-25 23:43:03
const int fun1()
int fun2(const int x)
為何都是沒有意義的? 網路上說如果輸入參數採用“值傳遞”,由於函數將自動產生臨時
變量用於複製該參數,該輸入參數本来就無需保護,所以不要加const
複製一個臨時的變量跟保護有什麼關係?
第一個函式不就是回傳到const int的變數
第二個是傳遞的值不能改變 不是嗎 ?
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2014-11-25 23:44:00
你的理解沒問題, 前面說的網路說法沒有全文無法評論, 但此兩例中的 const 絕對不是沒有意義
作者:
anoymouse
(沒有暱稱)
2014-11-25 23:46:00
http://blog.xieyc.com/const-in-detail/
的1.3
http://blog.xuite.net/tsai.oktomy/program/65131235
的3.(1)
作者:
wuliou
(wuliou)
2014-11-26 00:01:00
通常會搭配&用 有些大物件copy會太吃效能這時候const可以避免失誤改到傳進來的東西
作者: firose (guest也是也是也是也是也)
2014-11-26 00:24:00
第二行不能說沒意義 至少可以確保改 int 在函數內不會被改
作者:
anoymouse
(沒有暱稱)
2014-11-26 00:25:00
看不懂網路上的意思
作者:
Push5F
(帳號已賣)
2014-11-26 00:35:00
2意思是保證不會動到你傳進來的值
作者:
anoymouse
(沒有暱稱)
2014-11-26 01:12:00
const simple *const function()第二個const是說指標也不能改變對嗎
作者:
dirkc
(3781615)
2014-11-26 11:40:00
第一個不是,因為複製值所以不限制回傳接的地方也需const
作者:
purpose
(秀才遇到肥宅兵)
2014-11-26 12:03:00
http://codepad.org/zhih7unj
去掉fun1()的 const 才能跑
作者:
dirkc
(3781615)
2014-11-26 16:22:00
可以和這個一起思考:
http://codepad.org/R9fsOgoS
回傳是const如樓上的code,但經過複製值(=)後,接的地方不限第二個是說在function的範圍(scope)內,該變數為const原po在推文問的問題:對,代表不能改變指向的地方了,固定了可再思考這個:
http://codepad.org/mnqj0Y92
作者:
anoymouse
(沒有暱稱)
2014-11-26 20:25:00
我看看再問你們 謝謝
繼續閱讀
[問題] Cpp程式語言
koogoo
[問題] 程式無法到他台電腦執行
frank868
Re: [問題] 出warning之後compiler的運作方式
purpose
[問題] 出warning之後compiler的運作方式
k03004748549
[問題] QT的物件Timer不一致?
jenocool
[問題] 地址問題
anoymouse
Re: [問題] operator=裡呼叫destructor
kwpn
Re: [問題] #define過的東西
jacky1989
[問題] operator=裡呼叫destructor
Caesar08
[問題] 請教operator()的意義
Keitaro
Links
booklink
Contact Us: admin [ a t ] ucptt.com