[英]C++ Map with value that is a pointer
如果我有地圖類型的std::map<std::string, Person>
這里Person
是我定義的類,下面是我如何將訪問Person
在迭代it
:
it->second;
但是,如果地圖的類型為std::map<std::string, Person*>
,在這種情況下,該元素將是指向Person
的指針,而不是實際的Person
。 我將如何訪問此Person
? 例如,這是否正確:
*it->second;
還是這個:
it->*second;
謝謝!
好吧,例如,您最有可能訪問it->second->name
。 但是*(it->second)
是正確的(我認為您不需要(),不記得了;請檢查運算符的優先級。)
Person const & person = *it->second;
std::cout << person.name << std::endl;
std::cout << person.address << std::endl;
//etc
或者簡單地
std::cout << it->second->name << std::endl;
std::cout << it->second->address << std::endl;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.