Правила доступа к безымянному пространству имен

Я просматривал раздел 7.3.1.1в стандарте C++03, ожидая найти описание правил доступа к элементам, определенным в безымянное пространство имен.

Кажется, что правила немного отличаются для безымянных пространств имен, так как вы не можете полностью определить доступ к элементам в одном. Я знаю, что по крайней мере в пределах одной и той же единицы перевода можно получить доступ к элементам в безымянном пространстве имен, как если бы они не находились в пространстве имен. Например:

namespace {
  int foo;
}

void something()
{
  foo = 4;
}

Если бы пространство имен имело имя, вы не могли бы этого сделать. Итак, где правила, определенные в стандарте для этих исключительных правил, которые применяются к безымянным пространствам имен?

6
задан void.pointer 8 March 2012 в 18:31
поделиться