→ diabloevagto:不用全域變數的原因是因為不要大家都能用 06/10 15:49
→ diabloevagto:你總不可能希望你的東西大家都能用吧 06/10 15:50
→ diabloevagto:你不應該內部外部亂搞,如果你遇到這個問題應該要重 06/10 15:50
→ diabloevagto:新思考你的架構該怎樣修改 06/10 15:50
我的理解是用全域變數, 比較不好maintain function之間繼承的關系.
我總覺得有時候很難管理變數...否則就要傳入大量的parameter
我有點不知道方向和該怎麼達到平衡.
※ 編輯: OppOops 來自: 140.112.30.137 (06/10 16:04)
推 EdisonX:全域變數還是有存在的必要,不然 rand 就寫不出來,大量 06/10 19:06
→ EdisonX:param 的話,寫過 Win32 API 都早已習已為常 (相信你的參數 06/10 19:07
→ EdisonX:應沒它來得多),另外有時為了加速,是真的有人在程式初始 06/10 19:08
→ EdisonX:化時就直接先建表放著查詢(如 sin table),小弟比較有疑問 06/10 19:09
→ EdisonX:的是,「C語言 function 之間繼承關係」指的是?? 06/10 19:10
推 LPH66:個人倒覺得下篇推文說的 context 會比全域變數來得好 06/10 21:40
→ LPH66:就拿 rand 為例 Java 的實作是把目前狀態放在一個物件裡 06/10 21:41
→ LPH66:因此我們可以有許多個完全不互相影響的亂數產生器實體 06/10 21:41
→ LPH66:這在概念上跟 context 還滿像的... 06/10 21:42
→ loveme00835:C++的亂數也是阿~ 06/10 21:49
推 EdisonX:sorry,可能我誤解了原po本意,我是看到平台上寫 C,所以沒對 06/11 00:04
→ EdisonX:dp 多加連想。@loveme~ : 疑!我一直以為亂數有用 static 06/11 00:05
→ EdisonX:存seed.. 06/11 00:05
→ EdisonX:@LPH66: 謝謝您提供的資料。 :) 06/11 00:07
→ yoco315:新的設計已經改成user自己保管random狀態了.. 06/11 00:12
推 EdisonX:@yoco315: 您指的是類似變成 uint rand(uint seed) 嗎 ? 06/11 00:16
→ loveme00835:engine-distribution 的架構 06/11 00:25
→ loveme00835:加上 device 就更複雜了 06/11 00:26
→ EdisonX:了解,大致知道怎做了,謝謝 loveme~ 解答 :) 06/11 00:28
→ thinklu:我覺得少用global var是因為如果你這個程式會create很多個 06/11 05:28
→ thinklu:session~那這些session會全部用到同一個global var~這樣的 06/11 05:29
→ thinklu:結果~相信不會是你原本打算做的事~所以儘量避免掉 06/11 05:30
→ thinklu:因為你的想法應該會是獨立的Session用到獨立的var~這樣才 06/11 05:32
→ thinklu:對~一些意見給你參考囉~^^ 06/11 05:32