[問題] vector當array傳 該怎作

看板C_and_CPP (C/C++)作者 (我愛阿蓉)時間16年前 (2010/04/30 13:32), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/3 (看更多)
大家好 有個小疑問 假如我並不知道使用者會輸入多少個資料 有個vector<Vector3> DataList; 通常win32 API也不會叫我們傳vector 所以如果有個函式Foo (吃 Vector3[]) 大家都是傳 &DataList[0]?? 還是什麼方式? 如果上面這樣傳會不會有什麼風險~ 當然API一定也會叫我們傳 有幾個element 所以這樣寫應該OK吧?? 還是有淺在的問題 例如說 vector realloc了 這API可能會一直對於原本你傳的&DataList[0] 位址 對值作判斷~ 這樣應該就壞了??? 如果不用vector 我想到的就只有宣告超大陣列..但這一定不好 是我多慮了 還是本來就不該這樣傳@@? thx -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.64.222

04/30 14:08, , 1F
vector有保證空間連續 所以 &DataList[0] 是安全的
04/30 14:08, 1F
文章代碼(AID): #1BscjNQQ (C_and_CPP)
文章代碼(AID): #1BscjNQQ (C_and_CPP)