0
Tại sao không nên sử dụng Using namespace std trong C++?
1
Anh Khoa 9910 đã đă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?

1

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ện foo cũng có một hàm tên tichPhan(), nếu như sử dụng using namespace thì sẽ như thế nào?

using namespace std;
using namespace foo;

int main(){
    tichPhan();
}

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:

std::tichPhan();
foo::tichPhan();

Như thế đoạn mã nguồn sẽ rất rõ ràng hơn.

Lê Hồng Anh 05.03.2018

Thank bạn nha.

Anh Khoa 99 05.03.2018
thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)