web-dev-qa-db-fra.com

Espace de noms sans nom en C ++

Dupliquer possible:
[.____] Espaces de noms non nommés/anonymes vs. Fonctions statiques

Je suis tombé sur ce code

namespace ABC {
namespace DEF {

namespace
{

Je m'attendais à ce que l'espace de noms soit suivi d'un nom, mais ce n'est pas le cas avec ce code.

Est-ce autorisé en C++? Quel est l'avantage pour cet espace de noms sans nom?

46
prosseek

C'est ce qu'on appelle un espace de noms non nommé/espace de noms anonyme. Il est utile de créer des fonctions/objets/etc accessibles uniquement dans ce fichier. C'est presque la même chose que static dans C.

70
Marlon