Có một sự thay đổi thú vị trong việc định nghĩa name space. Chúng ta có thể định nghĩa một name space mà không có tên (một name space nặc danh). Loại name space này là ngầm định và tự động được sử dụng trong tệp nguồn, nơi định nghĩa của nó có thể nhìn thấy được. Đó là một cách khác để giới thiệu các thực thể (ví dụ: biến) có thể truy cập qua toàn bộ tệp nguồn.
Ví dụ sau →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
include <iostream> using namespace std; namespace { int Troll = 1; float Wizard = -0.5; } namespace Mordor { int Troll = 2 ; float Wizard = 0.5; } int main(void) { cout << Troll << " " << Wizard << endl; cout << Mordor::Troll << " " << Mordor::Wizard << endl; return 0; } |
sử dụng hai name spaces: một cái nặc danh và một cái có tên. Tất cả các thực thể được xác định bên trong name space nặc danh có thể được truy cập mà không cần bất kỳ sự chuẩn bị gì.