Aracılığıyla paylaş


Ara Belleğe Almanın Etkileri

Aşağıdaki örnekte arabelleğe almanın etkileri gösterilmektedir. Programın yazdırmasını please waitbekleyebilirsiniz, 5 saniye bekleyin ve devam edin. Ancak çıkış arabelleğe alındığından bu şekilde çalışması gerekmez.

// effects_buffering.cpp
// compile with: /EHsc
#include <iostream>
#include <time.h>
using namespace std;

int main( )
{
   time_t tm = time( NULL ) + 5;
   cout << "Please wait...";
   while ( time( NULL ) < tm )
      ;
   cout << "\nAll done" << endl;
}

Programın mantıksal olarak çalışmasını sağlamak için, cout ileti görüntülendiğinde nesnenin kendisini boşaltması gerekir. Nesneyi ostream temizlemek için manipülatöre flush gönderin:

cout <<"Please wait..." <<flush;

Bu adım, beklemeden önce iletinin yazdırılmasını sağlayarak arabelleği temizler. Ayrıca endl arabelleği boşaltan ve satır başı satır beslemesi veren manipülatörünü kullanabilir veya nesnesini kullanabilirsiniz cin . Bu nesne (veya clog nesneleriylecerr) genellikle nesneye cout bağlıdır. Bu nedenle, herhangi bir kullanımı cin (veya cerr veya clog nesneleri) nesneyi temizler cout .

Ayrıca bkz.

Çıkış Akışları