Thứ Tư, 25 tháng 12, 2013

SỰ KHÁC BIỆT GIỮA "endl" VÀ "\n' TRONG C++

Trong C++, để kết thúc một dòng sang dòng mới ta có thể sử dụng std::endl hoặc ‘\n , nhưng hoạt động của từng cách là khác nhau:
  • std::endl  gửi một ký tự xuống dòng ‘\n’ và xóa bộ nhớ đệm đầu ra (output buffer).
  • \n’ gửi một ký tự xuống dòng, nhưng không xóa bộ đệm đầu ra.
Nếu bạn sử dụng tính năng debug thì sẽ thấy rõ hơn sự khác biệt này. Lời khuyên là bạn nên sử dụng std::endl sẽ tốt hơn so với ‘\n’  vì bộ nhớ đệm được giải phóng hiệu quả hơn.
Ví dụ: sử dụng cả  std::endl và ‘\n’ . (Bạn không  thể thấy bước xóa bộ đệm trong quá trình này)
#include <iostream> 
using namespace std;
int main()
{
  cout <<"Testing 1" <<endl;
  cout <<"Testing 2\n";
  return 0;
}
Output của chương trình:
 Testing 1
 Testing 2

Nguồn: Blog Nguyễn Trí Hải

Không có nhận xét nào:

Đăng nhận xét