search查找,如果没有成功匹配,返回的指针处理
来源:10-7 STL容器的统计与二分查找
慕少7118645
2021-04-16
对比与binary_search,匹配到返回1,没匹配到返回0,在业务处理时,这个结果分析起来比较直观。
执行search查找后,即使没有匹配结果,也返回了一个地址(指针),也可进行解引用操作获得一个值。那么,在后面处理业务时,相对binary_search来说,用search的结果来分析不太直观。
说通俗一点,通过search返回的地址值,我想很直观的判断出,这次查询,匹配到了结果。
希望老师分享一下经验。
写回答
1回答
-
这个问题问的很好。一般是这样的,我们在考虑函数返回信息时既需要来记录函数执行的状态,同时也需要在成功时返回一些有效信息或失败时将错误信息返回。但不同的系统有不同实现的方案,C语言在早期时会通过一个全局变量来记录返回信息,而C++返回的方式也有引用,结构体等多种。这里有点不一样,它需要考虑到STL的整体架构,我这里例子举的不好,正常这里需要通过search方法返回时是否指向迭代器的尾部来判断是否找到,返回尾部说明没找到,否则返回的是第一次匹配的迭代器位置,这时STL的标准做法。
212021-04-16
相似问题