Error

C++博客 首页 新随笔 联系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
// 只读遍历
std::hash_map<std::string, std::string> testMap;
for(auto iter : testMap)
{
}
posted on 2013-03-20 11:28 Enic 阅读(236) 评论(2)  编辑 收藏 引用

评论

# re: C++ 11 新语法:只读遍历 2013-03-20 16:13 P
不是只读的意思涅,只是因为map的key是const而已啦,iter.second="123"是可以的哦。另外auto也是可以明确的用const或&来修饰的,当同时存在引用和值类型时auto推演结果是值类型,遍历的时候要注意这个,否则会发生意外的拷贝构造,影响性能

vector<Obj> v;
for(auto& it : v)
{

}  回复  更多评论
  

# re: C++ 11 新语法:只读遍历[未登录] 2013-03-22 10:33 enic
可能我的表述有问题。
当时是针对另一个场景所谓的只读:我需要在遍历过程中删除部分节点。

感谢指出来,这个细节还需要继续深挖@P
  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理