作者johnjohnlin ()
看板C_and_CPP
標題[問題] 想請問這樣有沒有違反十三誡之八
時間Sun Aug 16 11:40:55 2015
第八條是這麼寫的
你也不可以在一個運算式(expression)中,對一個基本型態的變數修改其值,
~~
我的問題如下:
這是 list 的資結構:
struct ListNode {
ListNode *next;
};
假設我現在有一個 link list 的尾巴 ListNode *tail
我想在他後面插一個新的 node,並且更新 tail
我可以這樣作
ListNode *new_tail = new ListNode();
tail->next = new_tail;
tail = new_tail;
想請問如果寫成一行
tail = tail->next = new ListNode();
在我的電腦上會動
不過想請問這樣會不會造成我在一行內連續改 tail 兩次
而違法了第八條?
謝謝
--
Time waits for no one.
↑
(。A。)ハァ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.217.20
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1439696461.A.68D.html
※ 編輯: johnjohnlin (140.112.217.20), 08/16/2015 11:41:58
推 CLANNAD: 不會違反 08/16 14:23
→ Killercat: 這寫法很迷惑人喔.... 08/16 16:11
→ Caesar08: 不會 08/17 00:00
推 stupid0319: 濃縮式寫法只怕別人看不懂,放久了自己也看不懂QQ 08/17 00:29
→ fatrabitree: 我頂多縮成兩行 08/17 02:09
推 leoloveivy: 但寫程式還是要易讀吧現在你知道再幹嘛 以後可能會忘 08/17 16:13
→ david54001: 沒必要這麼精簡吧,還會造成自己的困擾 08/17 20:54
推 OPIV: 這樣有修改兩次? 08/17 22:15
→ uranusjr: 沒有 08/18 00:45