看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Nestarneal (Nestarneal)》之銘言: : 問題(Question): : 其實這問題我不太曉得標題這樣下對不對... : Ogre 引擎有提供我一個設定模型位置的函數叫做 setPosition : 而餵入參數給函數有兩種方法,假設指定位置為 (0, 0, 10) 好了 : 1. setPosition(0, 0, 10) : 2. setPosition( Ogre::Vector3(0, 0, 10) ) 如果你要把位置設定成 (0, 0, 10) 這兩種寫法是沒啥差別的 頂多是第二種還要多打一些字這樣... : 依照書上的說法是:兩種效果一樣,但第二種可以使程式更容易閱讀。 : 我的問題在於這個函數的作用其實從名字就很清楚, : 因此比起第二種作法,我個人覺得第一種給參數的方式會更清楚。 : 所以我個人會比較想用第一種方式寫,但書上是用第二種。 : 所以想請教一般來說,在這種狀況下各位會採取哪種寫法? : 謝謝。 問題在於大部份的使用情況會更複雜 比如說這樣 // Set position near to some_obj setPosition( some_obj.getPosition() + Vector3(10, 0, 0) ); 如果沒有第二個 overloading 的話要怎麼寫咧? // Set position near to some_obj Vector3 pos = some_obj.getPosition(); setPosition(pos.x+10, pos.y, pos.z); 上面那個明顯比較好用吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.3.139
Nestarneal:所以如果普通設定於某個位置,直接給值會比較清楚、 04/29 16:43
Nestarneal:但如果是類似l大所假設的情況則是用向量給會比較好。 04/29 16:43
Nestarneal:看狀況來使用就是這個意思囉? 04/29 16:44
Nestarneal:謝謝各位前輩解答 :) 04/29 16:44
cuteclare:不過書上的2. setPosition( Ogre::Vector3(0, 0, 10) ) 04/29 17:00
cuteclare:在cpp上來說 應該算是 Constructor ? 沒有後續操作就把 04/29 17:01
cuteclare:它晾在那邊 ~ 感覺有點恐怖 orz 04/29 17:01