我想了解如果在std::find中使用空向量会发生什么,但是没有找到相关信息。 我的问题是,如果将空向量传递给std::find,返回值是否总是nullptr,还是未定义的行为? std::vector<int> someDataContainer; auto it = std::find(someDataContainer.begin(), someDataContainer.end(), 1);
find函数在元素不存在时返回的是end迭代器: [alg.find](强调是我的): 假设 E 为: find 的情况下,*i == value [...] 返回值:第一个满足 E 为 true 的迭代器 i。如果没有这样的迭代器,则返回 last。 这包括元素不在范围内,因为范围为空。
someDataContainer.end()
。 - Fureeish