Pustaka Standard C: Isu dengan Pembungkus Tersuai untuk cout, cerr, cin, dan endl
Sementara Alex telah menyediakan pendekatan sintaksis untuk mencipta pembungkus tersuai untuk fungsi I/O standard, terdapat pertimbangan tambahan untuk nota.
Potensi Masalah:
Alternatif Pendekatan:
Daripada mencipta pembolehubah global, pendekatan yang lebih bersih ialah menggunakan pengisytiharan fungsi sebaris dalam ruang nama:
namespace CustomIO { inline std::ostream& Cout() { return std::cout; } inline std::ostream& Cerr() { return std::cerr; } inline std::istream& Cin() { return std::cin; } inline std::string& Endl() { return "\n"; } }
Ini membolehkan anda menggunakan nama tersuai dalam ruang nama tanpa mencemarkan global ruang nama:
CustomIO::Cout() << "Hello, world!";
Argumen Menentang Pembungkus Tersuai:
Kesimpulan:
Pembungkus tersuai untuk objek aliran standard memperkenalkan kerumitan dan potensi yang tidak perlu perangkap. Adalah disyorkan untuk menerima pakai amalan standard awalan std:: kepada fungsi I/O untuk kejelasan, kebolehbacaan dan pematuhan kepada amalan terbaik yang dipertingkatkan.
Atas ialah kandungan terperinci Patutkah Anda Buat Pembungkus Tersuai untuk Fungsi I/O Standard C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!