2010-01-12 4 views

Respuesta

32

Para hacer referencia al espacio de nombres raíz. Esto a menudo es útil si su clase o su espacio de nombres usa un nombre que también existe en la raíz, pero en algún momento desea referirse a la versión raíz.

Por ejemplo, si he sobrecargado new en mi clase, pero deseo en algún momento referirme al predeterminado (raíz) new, entonces usaría ::new para referirme a la raíz nueva.

23

Para indicar que este es un espacio de nombre de nivel superior.

Es muy similar (pero no idéntico) a cómo funciona el nombre de un directorio. Sin el doble punto inicial, C++ primero comprobará si hay un espacio de nombre de ese nombre dentro del espacio de nombres 'activo' actual. Si no hay, entonces buscará un espacio de nombre del nombre en el nivel superior.

Con el doble punto inicial, C++ omitirá la primera comprobación y solo buscará un espacio de nombre de nivel superior.

Cuestiones relacionadas