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

  • dirkgently1

    dirkgently1

    13 NİSAN 2006
  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • International Secret Agents Concerts

    Internationa

    2 Aralık 2008