0
我有一組類型爲Team的元素。我想寫一個函數來返回給定元素的地址。 get_team函數接受一個id,並通過一個Team類函數'is_team'比較它,如果該Team對象具有相同的id,則返回布爾值'true'。通過迭代器返回設置對象的地址
1 string TeamA = "ABC";
2 Team A = get_team(TeamA);
3
4 const Team & get_team(string id) {
5 for (set<Team>::iterator iter = teams_.begin(); iter != teams.end(); ++iter){
6 Team team = *iter;
7 if (team.is_team(id)){
8 return *iter;
9 }
10 }
11 }
當該運行時,ITER的*的地址(第6行,第8行)是正確的,並存儲在組「teams_」小組對象的地址相匹配。 但是當函數返回的地址不同時(第2行)。
元素的地址和* ITER正確顯示爲:0x0048e930 A隊的地址是:0x0039f47c
我如何得到正確的地址嗎? (我如何製作隊A的地址0x0048e930?)
聽起來像你想用地圖而不是一套.. –