gpt4 book ai didi

C++ 相当于 python 的 itertools::cycle

转载 作者:行者123 更新时间:2023-11-30 02:35:36 25 4
gpt4 key购买 nike

是否有类似于 python 的 itertools::cycle 的 C++ 类(或 libboost 类)?

我正在寻找可以“滚动”或“循环移动”的容器类。整数示例:

MyCont = {{1,2,3}}
MyCont.roll() // MyCont now holds {{2,3,1}}
cout << MyCont[0] << endl; // returns 2
cout << MyCont[1] << endl; // returns 3

我需要自己实现吗,还是某处已有实现?

编辑

上面的示例演示了我正在寻找的行为,但我的情况稍微困难一些:我的容器包含对象,每个对象都嵌入了一个大数组。我想在不执行深层复制的情况下重新排序容器的项目。这样做的最佳方法是什么?

最佳答案

是的。有 rotate在算法中。

对于您更新的问题,您认为保存指向数组中对象的指针并旋转它们是正确的。或者你可以试试 list并使用内部 swap “不对单个元素调用任何移动、复制或交换操作”的方法。或 swap 的特化对于列表

关于C++ 相当于 python 的 itertools::cycle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33461667/

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