2010-01-12 1 views

Répondre

32

Pour faire référence à l'espace de noms racine. Ceci est souvent utile si votre classe ou votre espace de noms utilise un nom qui existe aussi dans la racine, mais à un moment donné, vous voulez vous référer à la version racine. Par exemple, si j'ai surchargé new dans ma classe, mais souhaite à un moment donné faire référence à la valeur par défaut (racine) new, alors j'utiliserais ::new pour faire référence à la nouvelle racine.

23

Pour indiquer qu'il s'agit d'un espace de nom de niveau supérieur.

Il est très similaire (mais pas identique) au fonctionnement d'un nom de répertoire. Sans le double-deux-points, C++ vérifie d'abord s'il existe un espace de noms de ce nom dans l'espace de nommage 'actif' actuel. Si ce n'est pas le cas, il vérifiera un espace de nom du nom au niveau supérieur. Avec le double-deux-points principal, C++ ignorera la première vérification et recherchera uniquement un espace de noms de niveau supérieur.

Questions connexes