title: What is a nested name specifier?
body: <p>Related to <a href="https://stackoverflow.com/questions/4094253/name-lookup-clarification">this</a></p>
  
  <p>I want to know what exactly is a nested name specifier? I looked up in the draft but I could understand the grammar as I haven't taken any Compiler Design classes yet.</p>
  
  <pre><code>void S(){}
  
  struct S{
     S(){cout &lt;&lt; 1;}
     void f(){}
     static const int x = 0;
  }; 
  
  int main(){ 
     struct S *p = new struct ::S;  
     p-&gt;::S::f();
  
     S::x;  
  
     ::S(); // Is ::S a nested name specifier?
     delete p;
  } 
  </code></pre>