boost shared_ptr疑问

typedefstd::deque<interface_event::ptr>event_queue;其中interface_event是自己定义的一个接口类,在应用中像... typedef std::deque<interface_event::ptr> event_queue;其中interface_event是自己定义的一个接口类,在应用中像下面这样:
event_queue eq;
interface_event *p = new event_node();//event_node是interface_event的子类
interface_event::ptr t(p);
eq.push_back(t);
event_queue::iterator it;
for (it = eq.begin();it != eq.end();it++)
{
if(it->get() == (*it).get())
{
printf("=====\n");
}
}结果是输入"======",即it->get() == (*it).get(),为什么呢,为什么iterator也调用了shard_ptr 的get()方法,难道deque这个模板类继承了shared_ptr这个类吗,看了deque的代码好像没有,那为什么iterator也可以调用shared_prt的get方法呢????向高手请教!!!
??????
展开
 我来答
高金山
2010-06-25 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1700万
展开全部
我觉得it->get()和(*it).get(),调用的是同一个函数,结果理应相同啊。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式