看板 C_and_CPP 關於我們 聯絡資訊
http://ideone.com/FEhKR 有一些用來作big-endian little-endian轉換的function 希望可以避免掉copy paste的code 但目前不知怎麼refactor 遇到的問題: 沒辦法把 inline BinaryFileReader & operator>>( uint64 & value ) 移到 inline BinaryFileReader & operator>>( T & value ) 之中 移過去的話 compiler會報「具象化int版時 shift bit運算子超過位數」 (所以其中sizeof(value)==2的情況不會跑到) 此問題的限制: 這function會用來跑10G以上大小的file,所以速度至少要和現在的版本一樣快 希望refactor完的結果: 速度至少一樣,並且這3個function合成一個, 請問有什麼較好的寫法呢? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.192.162.252 ※ 編輯: Arton0306 來自: 203.192.162.252 (03/15 16:10) ※ 編輯: Arton0306 來自: 203.192.162.252 (03/15 16:12)
tropical72:為何我想到 MFC 的作法 Orz 03/15 20:16
firejox:用迴圈吧...如果還嫌太慢就開O3吧... 03/15 22:45
adxis:不確定是不是最快解法 03/16 00:22
adxis:http://0rz.tw/0U723 03/16 00:22