作者POSIX (tedium of chores)
看板C_and_CPP
標題[問題] initial Vector with array
時間Tue Jul 7 11:33:20 2015
一個小問題想請教
假設我有一個 c-style array 例如
int a[] = { 123, 456, 678, 135, ... }
int size = sizeof(a) / sizeof(int);
想要先 sort() 可是也想保留原本index
所以可能會用 tuple 把 value 和 index 都存起來
再丟進去 Vector
我知道 vector 有許許多多從 array 到 vector 的 initialization 的方法
例如
std::vector<int> v(&a[0], &a[size]);
(應該是還有更簡潔的, orz)
可是我想把一個重新包的 tuple 都進去給他 initial
有沒有什麼語法糖 或是神奇的手法可以做到的
否則就只能一個一個塞了 >_<
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.170.73
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1436240007.A.7BD.html
※ 編輯: POSIX (118.163.170.73), 07/07/2015 11:36:12
→ shadow0326: 塞到vector裡面的順序不就保留了嗎? 07/07 12:09
→ Feis: 看你出發點是甚麼. 可以用指標取代存順序. 或者用 transform 07/07 12:41
推 CaptainH: transform+back_inserter 07/07 14:04
→ POSIX: @shadow0326: 事後還要在繼續std::sort, 所以才會出此下策 07/07 15:25
→ POSIX: Feis, CaptainH: 感謝 我來試試看 07/07 15:27
→ POSIX: CaptainH 的版本也很乾淨,很棒!! 07/07 23:02