Với using namespace
Tôi làm cho toàn bộ nội dung của không gian tên đó hiển thị trực tiếp mà không cần sử dụng bộ định danh vùng tên. Điều này có thể gây ra vấn đề nếu using namespace
xảy ra trong các tiêu đề được sử dụng rộng rãi - chúng ta có thể vô tình tạo hai không gian tên với các tên lớp giống hệt nhau và trình biên dịch sẽ từ chối biên dịch trừ khi tên lớp được thêm vào với bộ định danh vùng tên.Tôi có thể hoàn tác tác dụng của "sử dụng không gian tên" trong C++ không?
Tôi có thể hoàn tác using namespace
để trình biên dịch quên rằng nó đã xem trước đó không?
Tôi đặt cược có một hack thực sự xấu xí bằng cách sử dụng bộ xử lý trước cho việc này. Nhưng tôi đoán bạn không muốn rằng –
@Eli: Không có trong Tăng cường, điều này có thể có nghĩa là không có. –
Một giải pháp khả thi để rút ngắn những gì bạn phải gõ là '#define N namespace ::' ở đầu tệp và '#undef N' ở dưới cùng. Tất nhiên điều này có nghĩa là bạn phải cẩn thận để không bao giờ sử dụng 'N' ở bất cứ đâu trong tệp mà bạn không muốn' namespace :: '. Một 'typedef' có khả năng cũng hữu ích. – Yay295