Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: C++
Expertise: Advanced
Dec 21, 2001



Application Security Testing: An Integral Part of DevOps

How to Re-open a Nested Namespace

As strange as it may seem, C++ doesn't allow you to re-open a namespace using a qualified name; you can re-open it only by using its nested name. For example, the following program defines a namespace called A that has two embedded namespaces, B and C. The attempt to re-open A::B with a qualified name and add the member d to it fails to compile. By contrast, the addition of a the member e to the same namespace succeeds because in this case the programmer used nested namespaces:
namespace A
 namespace B
  int a;
 int b;
 namespace C
  int c;

namespace A::B // attempt to re-open using a qualified name
 int d; // this won't compile

namespace A // re-opening namespace B in A
 namespace B
  int e; // fine, add a new member to namespace B in A

int main()
 A::B::a = 1;
 A::b = 2;
 A::C::c = 3;
 A::B::d = 4; // won't compile
 A::B::e = 5;
Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date