Răsfoiți Sursa

V0.9.6
1、修改完成了环形队列

Apple 1 săptămână în urmă
părinte
comite
9d7699102e
2 a modificat fișierele cu 4 adăugiri și 4 ștergeri
  1. 1 1
      External
  2. 3 3
      demo/DesignerPattern/Iterator/RingQueue/RingQueue.hpp

+ 1 - 1
External

@@ -1 +1 @@
-Subproject commit d1977cbcf70556d60f45d2d18370e9c1ee0b6d91
+Subproject commit 4df2fb6e806c1a837ae7f9c62d1b9e02ba340f5d

+ 3 - 3
demo/DesignerPattern/Iterator/RingQueue/RingQueue.hpp

@@ -45,7 +45,7 @@ public:
     RingQueue(long size, T defaultValue);
     ~RingQueue();
 
-    /* 入队,默认是阻塞入队 */
+    /* 入队,默认是阻塞入队,队列满就阻塞住,直到有位置 */
     void push(const T& value);
     void push(T&& value);
     bool push_noBlock(const T& value);
@@ -415,7 +415,7 @@ T RingQueue<T>::front_pop()
             m_rear = -1;
         }
         m_cond_NoFull.notify_all();
-        return m_queue[front];
+        return std::move(m_queue[front]);
     }
 }
 
@@ -465,7 +465,7 @@ T RingQueue<T>::front_pop_noBlock()
             m_rear = -1;
         }
         m_cond_NoFull.notify_all();
-        return m_queue[front];
+        return std::move(m_queue[front]);
     }
 }