迭代器iterator不能作为类指针返回吗 代码如下:
2个回答
展开全部
vector<>的迭代器并不一定是由普通指针实现,比如微软的STL中vector的迭代器就是一个类
要返回指针,你可以使用return &(*point) ;
但是这样很丑,而且你把elementList的内部数据暴露在客户代码中,破坏了封装.
最好是返回DcmElement元素本身,代价太大就返回const DcmElement引用或者指针.
后者仍然容易引起悬垂句柄.
要返回指针,你可以使用return &(*point) ;
但是这样很丑,而且你把elementList的内部数据暴露在客户代码中,破坏了封装.
最好是返回DcmElement元素本身,代价太大就返回const DcmElement引用或者指针.
后者仍然容易引起悬垂句柄.
追问
我用vector就是觉得它比链表用起方便点,没有考虑封装的问题,如果不返回迭代器,该怎么获得CLXDcmElement元素呢?麻烦指点一下
追答
我上面写了啊. return &(*point) ;就是dcmElement的指针
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询