Trong dự án của chúng tôi, chúng tôi sử dụng toán tử dòng C++ (< <) trong mô hình đối tượng để in ra định dạng dễ đọc. Một ví dụ đơn giản là thế này:Cách thêm indention vào toán tử luồng
std::ostream& operator<<(std::ostream & oStream, const OwnClass& iOwnClass) {
oStream << "[SomeMember1: " << iOwnClass._ownMember1 << "]\n";
oStream << "[SomeMember2: " << iOwnClass._ownMember2 << "]\n";
}
Hệ quả này trong khai thác gỗ:
[SomeMember1: foo]
[SomeMember2: bar]
gì chúng tôi muốn bây giờ là có thể thụt kết quả của điều hành đó. Một số lớp gọi điện có thể không muốn kết quả như thế này, nhưng muốn thêm 2 khoảng trống vào trước mỗi dòng. Chúng tôi có thể thêm một thành viên vào lớp của chúng tôi chỉ định sự chú ý, nhưng điều đó dường như không phải là một giải pháp thanh lịch.
Tất nhiên đây không phải là vấn đề rất lớn, nhưng việc đăng nhập của chúng tôi sẽ đẹp hơn rất nhiều nếu điều này có hiệu quả.
Cảm ơn
Đã hoạt động hoàn hảo! Mặc dù vậy, tôi đã thực hiện một vài thay đổi, như thêm phương thức increaseIndent và reduceIndent. Nhật ký của tôi trông giống như cách tôi muốn chúng ngay bây giờ. Cảm ơn. –
@ James: Bạn có sẵn mã phức tạp hơn không? – Cookie