coffee++ 2025-02-16 22:31 采纳率: 100%
浏览 11
已结题

关于#c++#的问题:有没有类似bool类型的否定,让没找到==name时函数返回一个否定的迭代器(相关搜索:list类)

img


如图,我写的Findit函数想找到==name的就返回迭代器的位置,然后在第二段代码中使用
如果没找到==name的,返回的应该是l.end()
但是list类型的l初始没有内容,此时运行就报错了
此时end()会是什么?怎么改进才行

有没有类似bool类型的否定,让没找到==name时函数返回一个否定的迭代器?

  • 写回答

5条回答 默认 最新

  • Yofoo 2025-02-18 21:16
    关注
    
        template<class _Ty, class _Ax>
        _Ty *    FindInList(std::list<_Ty, _Ax> &list, _Ty& Value)
        {
            std::list<_Ty, _Ax>::iterator        Iter;
    
            for(Iter = list.begin();
                Iter != list.end();
                Iter ++)
            {
                if(*Iter == Value)
                    return &*Iter;
            }
            return NULL;
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月7日
  • 已采纳回答 2月27日
  • 创建了问题 2月16日