gpt4 book ai didi

c++ - 如何仅在特定次数内遍历列表?即计算出前 5 个元素

转载 作者:行者123 更新时间:2023-11-28 01:43:58 24 4
gpt4 key购买 nike

我有一个 list

list<pair<Zeitpunkt, double>> l_tempdiff;

我只想cout 前 5 个元素。

我只知道计算整个列表的方法:

for (auto elem : l_tempdiff)
{
cout << elem.first << elem.second << endl;
}

我不知道如何在我使用时访问我的元素:

for (it = l_tempdiff.begin(); it != l_tempdiff.end(); ++it)
{

}

我想我需要将 l_tempdiff.end() 更改为其他值,但它似乎只需要数字 5`。我该怎么做?

最佳答案

由于 std::list 迭代器不是随机访问,您不能像 l_tempdiff.begin() + 5 那样递增它们。你可以做的是使用 std::next将迭代器递增所需的次数。看起来像

for (auto it = l_tempdiff.begin(), end = std::next(l_tempdiff.begin(), 5); it != end; ++it)
{
// use `*it` here
}

虽然在执行此操作之前,您应该确保列表足够大,因为如果不是,那么您将有未定义的行为。

关于c++ - 如何仅在特定次数内遍历列表?即计算出前 5 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45982468/

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