Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Mở rộng namespace và namespace vô danh (unnamed namespace) trong C++


Mở rộng namespace: khai báo lại namespace cùng tên để thêm thành viên.

namespace NS { int a = 10; }
namespace NS { int b = 20; } // mở rộng
// dùng NS::a, NS::b

Unnamed namespace (anonymous namespace):

  • Không có tên, compiler tự sinh tên duy nhất.
  • Chỉ truy cập được trong file định nghĩa (internal linkage).
  • Thay thế cho static ở phạm vi toàn cục.
namespace { int x = 10; } // unnamed
int main() { cout << x; } // OK, dùng trực tiếp