gpt4 book ai didi

c++ - 如何从 unordered_set 中准确获取一个元素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:21:01 24 4
gpt4 key购买 nike

我有:

    std::unordered_set<ObjectRepresentation*> incompletePieces;

我想从 unordered_set 中得到一个对象。为此,我使用了一个 for 循环,并在循环结束时使用了“break”,这样循环最多运行一次。

    while (incompletePieces.size()){
for (auto containedPiece : incompletePieces){ //Warning at this line that loop will run at most once
// .... doing some stuff with the contained piece
incompletePieces.erase(containedPiece);

break;
}
}

这是我想要的行为。问题是编译器显示警告:

Loop will run at most once (loop increment never executed)

如何重写我的代码以使警告消失?有没有更好的方法从 unordered_set 中获取项目?

最佳答案

您可以使用 begin() 获取第一个元素。

if (incompletePieces.size() > 0)
auto containedPiece = *(incompletePieces.begin());

关于c++ - 如何从 unordered_set 中准确获取一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51374185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com