Mencampurkan strim C (cout) dan fungsi printf C sememangnya boleh meningkatkan kelajuan output, terutamanya apabila mengendalikan set data yang besar. Secara umumnya selamat untuk menggunakan pendekatan ini, mengambil langkah berjaga-jaga untuk membuang penimbal sebelum beralih antara kaedah.
Berikut ialah analisis terperinci bagi coretan kod yang dicadangkan:
cout << "Hello" << endl; cout.flush(); for (int i=0; i<1000000; ++i) { printf("World!\n"); } fflush(stdout); cout << "last line" << endl; cout << flush;
Kebaikan:
Keburukan:
Tanda Aras dan Pengoptimuman:
Untuk memberikan paparan yang lebih komprehensif, pertimbangkan penanda aras prestasi berikut:
// Various output techniques void use_printf() { ... } void use_puts() { ... } void use_cout() { ... } void use_cout_unsync() { ... } void use_stringstream() { ... } void use_endl() { ... } void use_fill_n() { ... } void use_write() { ... } int main() { show_time(use_printf, "Time using printf"); show_time(use_puts, "Time using puts"); show_time(use_cout, "Time using cout (synced)"); show_time(use_cout_unsync, "Time using cout (un-synced)"); show_time(use_stringstream, "Time using stringstream"); show_time(use_endl, "Time using endl"); show_time(use_fill_n, "Time using fill_n"); show_time(use_write, "Time using write"); return 0; }
Keputusan:
Kesimpulan:
Atas ialah kandungan terperinci Bolehkah Mencampurkan C Stream dengan C's printf Meningkatkan Kelajuan Output?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!