[問題] 想請問這樣有沒有違反十三誡之八

作者: johnjohnlin (嗯?)   2015-08-16 11:40:55
第八條是這麼寫的
你也不可以在一個運算式(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 兩次
而違法了第八條?
謝謝
作者: CLANNAD (-クラナド-)   2015-08-16 14:23:00
不會違反
作者: Killercat (殺人貓™)   2015-08-16 16:11:00
這寫法很迷惑人喔....
作者: Caesar08 (Caesar)   2015-08-17 00:00:00
不會
作者: stupid0319 (徵女友)   2015-08-17 00:29:00
濃縮式寫法只怕別人看不懂,放久了自己也看不懂QQ
作者: fatrabitree (胖兔子)   2015-08-17 02:09:00
我頂多縮成兩行
作者: leoloveivy (cried)   2015-08-17 16:13:00
但寫程式還是要易讀吧現在你知道再幹嘛 以後可能會忘
作者: david54001 (阿佐)   2015-08-17 20:54:00
沒必要這麼精簡吧,還會造成自己的困擾
作者: OPIV (Monitor)   2015-08-17 22:15:00
這樣有修改兩次?
作者: uranusjr (←這人是超級笨蛋)   2015-08-18 00:45:00
沒有

Links booklink

Contact Us: admin [ a t ] ucptt.com