我有一张非常简单的 map :

std::map<int, double> distances;
distances[20.5] = 1;
distances[19] = 2;
distances[24] = 3;

例如,在这种情况下使用map::upper_bound()时,我如何知道是否没有返回值:
std::map<int, double>::iterator iter = distances.upper_bound(24);

(24是最大密钥,因此返回了意外的结果,但是如何通过代码知道这一点?如何知道我已经达到了最大密钥?)。

谢谢 !

最佳答案

if (iter == distances.end())
    // no upper bound

关于c++ - C++-如何知道map::upper_bound()是否没有返回值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/889756/

10-09 03:09