cerr và clog đều là đối tượng của luồng stderr. Dưới đây là sự khác biệt giữa chúng. Bạn cũng có thể đọc về đối tượng cout để có bức tranh rõ hơn.
Luồng lỗi chuẩn không đệm (cerr - unbuffered)
cerr là luồng lỗi chuẩn dùng để xuất lỗi. Đây cũng là instance của lớp ostream. Vì cerr không đệm (un-buffered), nên dùng khi cần hiển thị thông báo lỗi ngay lập tức. Nó không có bộ đệm để lưu thông báo lỗi và hiển thị sau.
Luồng lỗi chuẩn có đệm (clog - buffered)
Cũng là instance của ostream và dùng hiển thị lỗi, nhưng khác với cerr, lỗi trước được chèn vào bộ đệm và lưu trong bộ đệm cho đến khi nó đầy.
Luồng xuất chuẩn (cout)
cout là instance của ostream. cout dùng để tạo đầu ra trên thiết bị xuất chuẩn (thường là màn hình). Dữ liệu cần hiển thị được chèn vào luồng xuất chuẩn (cout) dùng toán tử chèn (<<).