[問題] 多種型別的輸入

看板C_and_CPP (C/C++)作者 (aj)時間12年前 (2013/12/18 10:37), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 在一個project中,寫了某些小function來執行某些比較常出現的工作, (例如: 輸出參數到txt檔,或從txt檔讀入資料) 不過因為input可能有int, unsigned int或double等多種可能, 所以目前是利用overloading 方式,寫多個相同的function, 利用input型別的差異來做區分。 想請問是否有更簡潔的方式能夠實現? 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.250.104

12/18 10:43, , 1F
個人覺得這就很夠了, cin/cout 也是用這種方法區分的
12/18 10:43, 1F

12/18 10:44, , 2F
畢竟你最後還是得放到一個已知型態的變數
12/18 10:44, 2F

12/18 10:46, , 3F
不過如果你的底層是去使用 fin >> 的話, 由於程式碼本身相同
12/18 10:46, 3F

12/18 10:46, , 4F
這種狀況你可以利用 template 來合併它們
12/18 10:46, 4F

12/18 11:31, , 5F
謝謝樓上回答,我再查查看template的使用方式.
12/18 11:31, 5F

12/18 13:59, , 6F
用巨集展開
12/18 13:59, 6F

12/18 16:10, , 7F
寫一個最大的(double) 其他的casting之後丟給他
12/18 16:10, 7F

12/18 16:10, , 8F
不過要看情況用…
12/18 16:10, 8F
文章代碼(AID): #1IiGg643 (C_and_CPP)
文章代碼(AID): #1IiGg643 (C_and_CPP)