Có nên dùng " using name std; " hay ko?

243 views
Skip to first unread message

Chiến Nguyễn

unread,
Feb 8, 2012, 10:32:52 AM2/8/12
to int2202ap
Các bạn thân mến!

Nhiều ý kiến cho rằng dùng "using namespace std;" rất tiện lợi, vì chỉ
với vài thao tác gõ phím trình dịch sẽ thấy được tất cả các tên trong
namespace std. Tuy nhiên điều đó cũng có nghĩa là trình dịch sẽ lấy
toàn bộ các tên của namespace std mà bạn không hề có ý định sử dụng
chúng. Nghĩa là bạn có thể vô tình tạo ra các tên trái ngược với nhau,
trùng với nhau hoặc các tên có ý nghĩa không rõ ràng khi sử dụng.

Thay vì thế, ta có thể dùng thư viện <iostream.h> tiện lợi hơn, nhanh
hơn. Nhưng các phần tử của <iostream.h> là các thành phần toàn cục và
đã không được khuyến cáo sử dụng từ năm 2003, sau khi chuẩn C++ 03 ra
đời.

Vậy nên phải khắc phục các vấn đề trên như thế nào?

Rất mong được sự góp ý thảo luận, bổ sung và sự ủng hộ của các bạn!

Dr.RiO

unread,
Feb 8, 2012, 10:45:45 AM2/8/12
to int2202ap
<iostream> bao hàm một tập hợp các lớp vào ra ở dạng khuôn mẫu
(templatized) tương thích với cả kiểu kí tự thường và kiểu Unicode,
không giống như <iostream.h> chỉ tương thích với kiểu kí tự thường.

Dr.RiO

unread,
Feb 8, 2012, 10:56:58 AM2/8/12
to int2202ap
t nghĩ nên sử dụng using namespace để code gọn nhej hơn. còn để
tránh vô tình tạo ra các trùng nhau hoặc các tên có ý nghĩa
k rõ ràng thì nên tuân thủ theo sự thống nhất đặt tên

Hoàng Văn Phụng

unread,
Feb 9, 2012, 11:24:24 AM2/9/12
to int2202ap
using name space std ;

This line tells the compiler that it should look in the std
namespace for any
identifier we haven’t defined.If we do this, we can omit th e
std : : prefix when
writing cout . This is the recommended practice.

Đoạn này mình đọc ở cuốn Introduction to C++

Chiến Nguyễn

unread,
Feb 9, 2012, 11:39:07 AM2/9/12
to int2202ap
Sẽ mất công dò tìm xem cái tên có trong thư viện ko.?? nhưng mà cứ
dùng using namespace std cũng chẳng mất thời gian mấy đâu :D

Diep

unread,
Feb 12, 2012, 11:13:33 PM2/12/12
to int2202ap
Mình tóm lại này:

* Nên dùng <iostream> vì nó thuộc chuẩn mới, được hỗ trợ trong các
trình biên dịch mới! (bạn nào có nhu cầu đọc chi tiết giải thích ở đây
http://members.gamedev.net/sicrane/articles/iostream.html)

* using namespace std; cũng nên dùng vì dễ code dễ đọc.

Trong cua học này, cả 2 "nên" nói trên đều là bắt buộc!

Chiến Nguyễn

unread,
Feb 13, 2012, 8:57:01 AM2/13/12
to int2202ap
UPPP :D

On 8 Tháng Hai, 22:32, Chiến Nguyễn <chienn...@gmail.com> wrote:

Vũ Văn Quyết

unread,
Feb 14, 2012, 7:39:32 AM2/14/12
to int2202ap
Nếu các bạn chỉ muốn vào ra thôi thì dùng:
using std::cin;
using std::cout;
là xong.
Reply all
Reply to author
Forward
0 new messages