请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

遍历 _Obs 的问题

老师好,
代码:

	for (; it != _Obs.end(); it++)
	{
		if (*it == pOb)
		{
			return;
		}
	}

如果 it 是一个迭代器的话,为什么*it 取到的 是 Observer实例的地址呢?是因为星号被重载了吗?
如果我硬要找 it 本身 的地址应该怎么操作呢?
谢谢老师

正在回答

1回答

quickzhao 2020-08-28 22:42:14
因为list中存的就是对象指针; 迭代器it本身可以理解成一种有包装的指针,取指针内容很自然用*,所以容器重载了*运算符; 取地址你用取地址运算符&。
1 回复 有任何疑惑可以回复我~
  • 提问者 zswen #1
    谢谢老师
    回复 有任何疑惑可以回复我~ 2020-08-28 23:15:14
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号