<tfoot id='8iG17'></tfoot>

      <small id='8iG17'></small><noframes id='8iG17'>

    1. <i id='8iG17'><tr id='8iG17'><dt id='8iG17'><q id='8iG17'><span id='8iG17'><b id='8iG17'><form id='8iG17'><ins id='8iG17'></ins><ul id='8iG17'></ul><sub id='8iG17'></sub></form><legend id='8iG17'></legend><bdo id='8iG17'><pre id='8iG17'><center id='8iG17'></center></pre></bdo></b><th id='8iG17'></th></span></q></dt></tr></i><div id='8iG17'><tfoot id='8iG17'></tfoot><dl id='8iG17'><fieldset id='8iG17'></fieldset></dl></div>
        • <bdo id='8iG17'></bdo><ul id='8iG17'></ul>

      1. <legend id='8iG17'><style id='8iG17'><dir id='8iG17'><q id='8iG17'></q></dir></style></legend>

        C++ 是否存在循环列表的标准实现?

        时间:2023-10-07

              • <bdo id='UsLV2'></bdo><ul id='UsLV2'></ul>

                <legend id='UsLV2'><style id='UsLV2'><dir id='UsLV2'><q id='UsLV2'></q></dir></style></legend>

                  <tbody id='UsLV2'></tbody>

                <tfoot id='UsLV2'></tfoot>

                <small id='UsLV2'></small><noframes id='UsLV2'>

                <i id='UsLV2'><tr id='UsLV2'><dt id='UsLV2'><q id='UsLV2'><span id='UsLV2'><b id='UsLV2'><form id='UsLV2'><ins id='UsLV2'></ins><ul id='UsLV2'></ul><sub id='UsLV2'></sub></form><legend id='UsLV2'></legend><bdo id='UsLV2'><pre id='UsLV2'><center id='UsLV2'></center></pre></bdo></b><th id='UsLV2'></th></span></q></dt></tr></i><div id='UsLV2'><tfoot id='UsLV2'></tfoot><dl id='UsLV2'><fieldset id='UsLV2'></fieldset></dl></div>

                1. 本文介绍了C++ 是否存在循环列表的标准实现?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我想使用循环列表.

                  如果没有实现我自己的(像这个人所做的),我有什么选择?>

                  特别是我想做的是迭代对象列表.当我的迭代器到达列表的末尾时,它应该自动返回到开头.(是的,我意识到这可能很危险.)

                  参见 Vladimir 对 circular_iterator 的定义:circular_iterator 将永远不会与 CircularList::end() 相等,因此您始终可以取消引用此迭代器."

                  解决方案

                  没有标准的循环列表.

                  但是,有一个循环缓冲区 在 Boost 中,这可能会有所帮助.

                  如果您不需要任何花哨的东西,您可以考虑只使用 vector 并使用索引访问元素.你可以用向量的大小mod你的索引来实现与循环列表大致相同的事情.

                  I want to use a circular list.

                  Short of implementing my own (like this person did) what are my options?

                  Specifically what I want to do is iterate over a list of objects. When my iterator reaches the end of the list, it should automatically return to the beginning. (Yes, I realize this could be dangerous.)

                  See Vladimir's definition of a circular_iterator: "A circular_iterator will never be equal with CircularList::end(), thus you can always dereference this iterator."

                  解决方案

                  There's no standard circular list.

                  However, there is a circular buffer in Boost, which might be helpful.

                  If you don't need anything fancy, you might consider just using a vector and accessing the elements with an index. You can just mod your index with the size of the vector to achieve much the same thing as a circular list.

                  这篇关于C++ 是否存在循环列表的标准实现?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:C++中vector是如何实现的 下一篇:C++中的订单统计树

                  相关文章

                  最新文章

                  • <bdo id='EHUms'></bdo><ul id='EHUms'></ul>

                    <tfoot id='EHUms'></tfoot><legend id='EHUms'><style id='EHUms'><dir id='EHUms'><q id='EHUms'></q></dir></style></legend>

                  1. <small id='EHUms'></small><noframes id='EHUms'>

                    1. <i id='EHUms'><tr id='EHUms'><dt id='EHUms'><q id='EHUms'><span id='EHUms'><b id='EHUms'><form id='EHUms'><ins id='EHUms'></ins><ul id='EHUms'></ul><sub id='EHUms'></sub></form><legend id='EHUms'></legend><bdo id='EHUms'><pre id='EHUms'><center id='EHUms'></center></pre></bdo></b><th id='EHUms'></th></span></q></dt></tr></i><div id='EHUms'><tfoot id='EHUms'></tfoot><dl id='EHUms'><fieldset id='EHUms'></fieldset></dl></div>