[問題] 程式看不懂 請幫幫我><

看板C_and_CPP作者 (撐過就是神)時間14年前 (2012/01/22 16:17), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/3 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev c++ 程式碼(Code):(請善用置底文網頁, 記得排版) void Time::print_time( const Time &t ) . . . int main() { Time test; test.print_time(test); //呼叫print_time函數 } 問題 將函數print_time指定給宣告此函數的類別 其中掛號裡面的內容我不懂為什麼還要多加上const 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.172.207.42

01/22 16:24, , 1F
不允許t在print函數內改變 所以宣告他在此函數為const
01/22 16:24, 1F

01/22 16:44, , 2F
( const Time &t )固定time 宣告物件的位址
01/22 16:44, 2F

01/22 16:44, , 3F
我不知道這有什麼優點 好處 請大大可以點一下嗎
01/22 16:44, 3F

01/23 03:36, , 4F
參數設為const 主要的好處就是防呆 讓你好debug
01/23 03:36, 4F

01/23 03:37, , 5F
既然知道 print_time 不需要改到 time 參數 就設成 const
01/23 03:37, 5F

01/23 03:39, , 6F
哪天你寫程式時不小心改到參數 編譯器會無法編譯
01/23 03:39, 6F

01/23 03:39, , 7F
並且告訴你是哪一行寫錯
01/23 03:39, 7F

01/23 14:43, , 8F
謝謝指點
01/23 14:43, 8F
文章代碼(AID): #1F6yOGfN (C_and_CPP)
文章代碼(AID): #1F6yOGfN (C_and_CPP)