[情報] C++ Primer 第三版的bug

看板C_and_CPP (C/C++)作者 (NCU_CS)時間18年前 (2006/07/20 17:55), 編輯推噓9(902)
留言11則, 8人參與, 最新討論串1/1
我好像抓到了兩個bug, 請各位大大看一下對不對 在5.11的List實作中(侯捷版232頁)的remove_front()函數 原程式碼如下: inline void ilist::remove_front() { if(_at_front) { ilist_item* ptr=_at_front; this->_at_front=_at_front->next(); this->bump_down_size(); delete ptr; } } 但是當串列只剩下一個Node時, 移除的話_at_end會指向已經delete的Node, 所以我把他加了一行修改如下 inline void ilist::remove_front() { if(_at_front) { ilist_item* ptr=_at_front; this->_at_front=_at_front->next(); this->bump_down_size(); if(_at_end==ptr) _at_end=NULL;//書上的bug,加此行更正 delete ptr; } } 第二個是reverse()函數(侯捷版P236~P237)的小bug 原程式碼的最後一行 _at_front->next(prev); 如果是空的串列,這行會錯 所以修改成 if(_at_front!=NULL) { _at_front->next(prev); } 有錯請指正 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.134.250

07/20 19:36, , 1F
書為了解說方便可能會簡化程式碼 但本文也可以參考
07/20 19:36, 1F

07/20 19:48, , 2F
btw這本4/e中文版什麼時候要出呀:q
07/20 19:48, 2F

07/21 00:14, , 3F
至少年底會出吧 我覺得。不然就請內線幫忙催促催促XD
07/21 00:14, 3F

07/21 03:03, , 4F
第四版會差很多嗎?? 怎麼這麼期待
07/21 03:03, 4F

07/21 11:21, , 5F
我先期待第五版好了 應該會是在講0x XD
07/21 11:21, 5F

07/21 15:37, , 6F
超期待,看過英文版,內容排版差多了
07/21 15:37, 6F

07/21 15:38, , 7F
如果急得看中文版,其實大陸已經有不知名翻譯版出來 = =
07/21 15:38, 7F

07/21 15:41, , 8F
如果單從英文版來看,動向改變蠻大的,改變的相當不錯
07/21 15:41, 8F

07/21 22:45, , 9F
那裡有內線XD
07/21 22:45, 9F

07/23 17:35, , 10F
原來出到第三版了喔.我還再看第一版.~_~..看來要換書了..
07/23 17:35, 10F

07/23 18:09, , 11F
英文版第四版已經出了唷! 字體和排版都很好 ^^
07/23 18:09, 11F
文章代碼(AID): #14lrC7xQ (C_and_CPP)
文章代碼(AID): #14lrC7xQ (C_and_CPP)