在类的const成员函数中使用map的iterator
来源:互联网 发布:java nanotime 唯一 编辑:程序博客网 时间:2024/06/05 17:49
今天在使用map的iterator是碰到一个问题,在类的const方法中,使用map的iterator,一直报错,仔细想想才知道原因,做个记录,基础还有待加强啊!
先上代码:
void IteratorTest::printConstMap() const {DMap::iterator it;it = dmap_.begin();printf("printConstMap():\n");for (; it != dmap_.end(); it++)printf("printConst %s\n", (it->second).c_str());}
如以上代码,在编译的会报错,就在it = dmap_.begin()那一句,仔细查看出错提示,大概意思就是不能从const_iterator转换为iterator。
所以主要原因就是,此方法是一个const的方法,目的就是要保证成员变量不被修改,因此,其中的dmap_被限定为const,当然仅仅在此方法的作用域内,所以当我们在使用其iterator的时候,其iterator也被限定为const,所以如果仅仅使用iterator去接收返回的iterator肯定就报错啦!
正确的代码如下:
void IteratorTest::printConstMap() const {DMap::const_iterator it;it = dmap_.begin();printf("printConstMap():\n");for (; it != dmap_.end(); it++)printf("printConst %s\n", (it->second).c_str());}
做个记录,苦练内功!
阅读全文
0 0
- 在类的const成员函数中使用map的iterator
- 类成员函数中const的使用
- 类成员函数中const的使用
- 类成员函数中const的使用
- C++ 中const成员函数的使用
- 在const成员函数中强制的去掉const
- 在const成员函数中使用下标[]操作map成员引发编译错误
- 使用const限定类的成员函数
- const成员函数的使用
- C++中类的const成员函数和const对象
- 类的 const 成员函数
- 类的const成员函数
- 类的const成员函数
- 类的const成员函数
- const 只能放在类成员函数的后面
- 类中const放在成员函数的前后有什么区别?
- C++关于类成员函数在参数列表后加const的作用,以及使用条件
- 类中成员函数声明后面的const的含义!
- NIO 之 Channel实现原理
- C# WinForm中的提示
- 设计模式学习—中介者模式(Mediator Design Pattern)
- Profinet从站开发(4)- EB200P step by step (编译PN协议栈)
- C语言实现冒泡排序和简单选择排序
- 在类的const成员函数中使用map的iterator
- 并发Concurrent
- springMVC入门程序
- NIO 之 Selector实现原理
- 单源最短路径问题(带权图)
- 一个程序猿的随想1
- 提高工作、学习效率的几个自身感受
- React Native 原生UI组件的基本使用
- MFC 双缓冲技术和兼容DC