C++ 03 Chuẩn 7.3.1.1 [namespace.unnamed] đoạn 1: (và C++ 11 Tiêu chuẩn cũng sử dụng định nghĩa tương tự)C++ vô danh (anonymous) namespace nét
Một giấu tên-namespace- định nghĩa cư xử như thể nó đã được thay thế bởi
namespace unique { /* empty body */ } using namespace unique; namespace unique { namespace-body }
Tại sao không phải là nó chỉ đơn giản sau đây định nghĩa?
namespace unique { namespace-body }
using namespace unique;
Câu hỏi phụ: MSDN được xác định theo dạng sau. Liệu nó vi phạm tiêu chuẩn kỹ thuật?
Tôi nghĩ rằng điều này là do trong 'không gian tên-body' bạn truy cập các thực thể không có trình độ bổ sung, yêu cầu' sử dụng không gian tên duy nhất' có hiệu lực rồi. –
@mat trong phần thân của một không gian tên bạn luôn có thể tham chiếu đến những thứ được định nghĩa trong không gian tên đó mà không cần giấy chứng nhận –
@ JohannesSchaub-litb: Tôi biết, tôi đã tự hỏi về tác động của các xung đột với môi trường xung quanh mặc dù –