Anh Khoa 99 • 10
đã đăng:
Mình biết mục đích của việc sử dụng Using namespace std để viết mã nguồn trong C++ trở nên ngắn gọn hơn, nhưng trong thực tế người ta thường nói không nên sử dụng Using namespace std, có bạn nào biết lý do tại sao không?
Trong lập trình thực tế bạn sẽ phải sử dụng nhiều thư viện hỗ trợ hơn chứ không còn phải là một thư viện nữa. Giả sử có một hàm trong hai thư viện đều trùng tên với nhau hoặc có thể vừa trùng tên hàm mà còn trùng các giá trị tham số truyền vào, ví dụ như trong thư viện
std
có hàm tichPhan(), trong thư việnfoo
cũng có một hàm têntichPhan()
, nếu như sử dụng using namespace thì sẽ như thế nào?Trình biên dịch sẽ phân vân hàm tichPhan() trên là thuộc thư viện nào để có thể chạy mã nguồn của thư viện đó mà trong lập trình không có chuyện phân vân, chắc chắn sẽ bị lỗi. Đôi khi ngay cả bản thân người lập trình cũng phân vân nếu vô ý sử dụng (mặc dù vẫn có trường hợp đúng nếu tham số của hai hàm là khác nhau) nhưng nó tạo cho chương trình không rõ ràng, không may có lỗi xảy ra bạn sẽ khó debug hơn, thay vào đó ta nên sử dụng trực tiếp như sau:
Như thế đoạn mã nguồn sẽ rất rõ ràng hơn.
– Lê Hồng Anh Lê Hồng Anh 05.03.2018Thank bạn nha.
– Anh Khoa 99 Anh Khoa 99 05.03.2018