对于以下两行C++代码
map<string, vector<size_t> >::iterator beg = mapper.begin();
vector<size_t>& indics = (*beg).second;
Run Code Online (Sandbox Code Playgroud)
如何理解他们想要什么来实现的,在特定的,有什么事了&,并*在第二行代码是什么意思?
map<string, vector<size_t> >::iterator beg = mapper.begin();
我们有一个map映射string到vector<size_t>.根据,我们得到了iterator地图中的第一个元素,即具有较小键值的元素std::less<string>.
vector<size_t>& indics = (*beg).second;
或者是什么一样
vector<size_t>& indics = beg->second;
我们得到键值对中的第二个值,即我们得到vector<size_t>地图中的第一个元素.我们保留一个非const引用,所以我们可以修改它的值.
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |