<bdo id='pFTYU'></bdo><ul id='pFTYU'></ul>
  • <small id='pFTYU'></small><noframes id='pFTYU'>

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

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

      1. <tfoot id='pFTYU'></tfoot>

        如何有效地清除 std::queue?

        时间:2023-06-04
          <tbody id='8OJtC'></tbody>

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

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

                • <legend id='8OJtC'><style id='8OJtC'><dir id='8OJtC'><q id='8OJtC'></q></dir></style></legend>
                  本文介绍了如何有效地清除 std::queue?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在使用 std::queue 来实现 JobQueue 类.(基本上这个类以先进先出的方式处理每个作业).在一种情况下,我想一次性清除队列(从队列中删除所有作业).我在 std::queue 类中没有看到任何明确的方法.

                  I am using std::queue for implementing JobQueue class. ( Basically this class process each job in FIFO manner). In one scenario, I want to clear the queue in one shot( delete all jobs from the queue). I don't see any clear method available in std::queue class.

                  如何高效地实现 JobQueue 类的 clear 方法?

                  How do I efficiently implement the clear method for JobQueue class ?

                  我有一个简单的循环弹出解决方案,但我正在寻找更好的方法.

                  I have one simple solution of popping in a loop but I am looking for better ways.

                  //Clears the job queue
                  void JobQueue ::clearJobs()
                   {
                    // I want to avoid pop in a loop
                      while (!m_Queue.empty())
                      {
                          m_Queue.pop();
                      }
                  }
                  

                  推荐答案

                  用于清除标准容器的常见习惯用法是与空版本的容器交换:

                  A common idiom for clearing standard containers is swapping with an empty version of the container:

                  void clear( std::queue<int> &q )
                  {
                     std::queue<int> empty;
                     std::swap( q, empty );
                  }
                  

                  这也是实际清除某些容器(std::vector)中保存的内存的唯一方法

                  It is also the only way of actually clearing the memory held inside some containers (std::vector)

                  这篇关于如何有效地清除 std::queue?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:错误:用“{...}"初始化;预期聚合对象 - C++ 下一篇:数据结构的“侵入性"是什么意思?

                  相关文章

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

                  <tfoot id='O22pW'></tfoot>

                      <bdo id='O22pW'></bdo><ul id='O22pW'></ul>

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

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