SORU
2 NİSAN 2009, PERŞEMBE


Zührevi hastalığı nasıl temizlerim::sıra verimli mi?

Std kullanıyorum::JobQueue sınıf uygulamak için sıraya. ( Temelde bu sınıf FIFO şekilde her iş süreci). Bir senaryoda, tek atış sırası( sıra tüm işleri sil) kaldırmak istiyorum. Herhangi açık bir yöntem std mevcut göremiyorum::sıra sınıf.

Nasıl verimli JobQueue sınıf için açık yöntemi uygulamak ?

Bir döngü haşhaş basit bir çözüm buldum ama daha iyi yollar arıyorum.

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

CEVAP
2 NİSAN 2009, PERŞEMBE


Standart konteynerlerin temizlenmesi için ortak bir dil konteyner boş bir sürümü ile değiştirmeyi

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

Ayrıca aslında hafıza kaplar içinde düzenlenen temizlemek için tek yoldur (:: std vektör)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amir Parmar

    Amir Parmar

    25 Kasım 2010
  • BASS212M

    BASS212M

    15 Temmuz 2009
  • eHow

    eHow

    27 NİSAN 2006