[問題] 如何關閉iterators的bounding check

看板C_and_CPP (C/C++)作者 (長門教信徒)時間11年前 (2014/07/13 01:32), 編輯推噓1(104)
留言5則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC2005, win7 問題(Question): 因最近寫的程式對速度很有要求,但 vector 和陣列的速度似乎有差異。 爬文後,發現有版友說關掉 iterators的bounding check會好很多, 所以想請教怎麼關閉。 另外, 想請問關掉後是否速度和陣列差不多? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.125.232 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1405186348.A.857.html

07/13 02:07, , 1F
vector 有保證資料連續, 可以把 &vec[0] 拿來用
07/13 02:07, 1F

07/13 02:22, , 2F
正常用法上開最佳化會一樣
07/13 02:22, 2F

07/13 14:51, , 3F
你速度慢的問題應該不是出在這
07/13 14:51, 3F

07/14 10:37, , 4F
不要用&vec[0] 官方有給vector::data() 用後者
07/14 10:37, 4F

07/15 20:15, , 5F
c++11 才有
07/15 20:15, 5F
文章代碼(AID): #1JmN4iXN (C_and_CPP)
文章代碼(AID): #1JmN4iXN (C_and_CPP)