看板 C_and_CPP 關於我們 聯絡資訊
我好像抓到了兩個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
drkkimo:書為了解說方便可能會簡化程式碼 但本文也可以參考 07/20 19:36
petertc:btw這本4/e中文版什麼時候要出呀:q 07/20 19:48
aoc90058:至少年底會出吧 我覺得。不然就請內線幫忙催促催促XD 07/21 00:14
fluteoner:第四版會差很多嗎?? 怎麼這麼期待 07/21 03:03
cplusplus:我先期待第五版好了 應該會是在講0x XD 07/21 11:21
pcjustin:超期待,看過英文版,內容排版差多了 07/21 15:37
pcjustin:如果急得看中文版,其實大陸已經有不知名翻譯版出來 = = 07/21 15:38
aoc90058:如果單從英文版來看,動向改變蠻大的,改變的相當不錯 07/21 15:41
petertc:那裡有內線XD 07/21 22:45
badsan:原來出到第三版了喔.我還再看第一版.~_~..看來要換書了.. 07/23 17:35
DJWS:英文版第四版已經出了唷! 字體和排版都很好 ^^ 07/23 18:09