[問題] map中的vector如何取用?

看板C_and_CPP (C/C++)作者 (阿佐)時間11年前 (2015/04/14 00:40), 11年前編輯推噓1(105)
留言6則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) gcc 問題(Question): map<int,vector<data> >中要如何取用資料? data是一個struct map<int,vector<data> > user; data temp; user[].push_back(temp) 因為自己在GOOGLE中找到的都是如何置入資料 而我自己已經先用上面的方式將資料建立 但是我不知道要如何用iterator印出他? map<int,vector<data> >::iterator i; 使用(*i).first可以正確取用 但是(*i).second之後就不知道要如何寫才能知道裡面的資料? 謝謝高手解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.250.49 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1428943208.A.A59.html

04/14 01:05, , 1F
vector用[]或.at()取
04/14 01:05, 1F

04/14 06:02, , 2F
(*i).second[]
04/14 06:02, 2F
因為vector中是一個struct這裡假設包了兩個int a,b 如果我要用for把他全部印出來的話,是不是要用雙層的迴圈? (*i).second[]的[]中視要怎麼寫才能拿到a,b 謝謝 ※ 編輯: david54001 (140.112.250.49), 04/14/2015 09:53:30

04/14 10:58, , 3F
vector<data> & refv = i->second ; 看懂的話你就會了。
04/14 10:58, 3F

04/14 13:43, , 4F
vector就當陣列用就好了 所以是[0] , [1]
04/14 13:43, 4F
剛剛成功用iterator的方式存取到了,謝謝各位 ※ 編輯: david54001 (140.112.250.49), 04/14/2015 22:08:15

04/15 22:45, , 5F
該不會是DSA吧XDDD
04/15 22:45, 5F

04/16 00:45, , 6F
2.4真令人崩潰= =................
04/16 00:45, 6F
文章代碼(AID): #1LA_5efP (C_and_CPP)
文章代碼(AID): #1LA_5efP (C_and_CPP)