假设我有一个存储在向量中的服务器名称列表,我希望一次一个地联系他们,直到成功响应为止。我正在考虑按照以下方式使用STL的find_if算法:
find_if(serverNames.begin(), serverNames.end(), ContactServer());
WhereServer是一个谓词函数对象。 一方面,这是一个问题,因为谓词不会总是为相同的服务器名称返回相同的结果(因为服务器停机时间,网络问题等)。但是,无论使用谓词的哪个副本(即谓词没有实际状态),都会返回相同的结果,因此在这种情况下,与状态保留谓词相关的原始问题不相关。
发布于 2018-06-25 08:43:47
如果你迭代迭代器,它将找到所有服务器。
发布于 2018-06-25 10:04:15
这正是STL算法的用处。这根本不是一种滥用。而且,它非常可读。
https://stackoverflow.com/questions/-100000317
复制相似问题