Làm cách nào để viết các trình xử lý luồng do người dùng xác định trong C++ kiểm soát định dạng phát trực tiếp một lớp tự viết?Làm thế nào để viết các thao tác do người dùng xác định để phát trực tuyến lớp tự viết
Cụ thể, làm cách nào để tôi viết các thao tác đơn giản verbose
và terse
để kiểm soát lượng đầu ra được truyền trực tuyến?
Môi trường của tôi là GCC, phiên bản 4.5.1 trở lên.
Ví dụ:
class A
{
...
};
A a;
// definition of manipulators verbose and terse
cout << verbose << a << endl; // outputs a verbosely
cout << terse << a << endl; // outputs a tersely
PS: Sau đây chỉ là một câu hỏi phụ, cảm thấy tự do để bỏ qua nó: Có thể điều này portably được mở rộng để thao tác lấy lý lẽ? Josuttis viết trong "Thư viện chuẩn C++" gần cuối phần 13.6.1 mà việc viết các thao tác tham gia là thực hiện phụ thuộc. Điều này vẫn đúng?
Không phải là bản sao mà là chủ đề liên quan (thú vị): [Trình xử lý luồng hoạt động như thế nào?] (Http://stackoverflow.com/questions/4633864/how-do-the-stream-manipulators-work) – Nawaz