Что означает контекст ссылки?

#c #reference #language-lawyer

#c #ссылка #язык-юрист

Вопрос:

Есть цитата из начала рабочего проекта раздела 3.4.3.2 / 3 N3797:

Учитывая X::m (где X — объявленное пользователем пространство имен) или given ::m (где X — глобальное пространство имен), если S(X, m) — пустое множество, программа неправильно сформирована. В противном случае, если S(X, m) содержит ровно один элемент, или если контекст ссылки представляет собой using-declaration (7.3.3), S(X, m) — это требуемый набор объявлений m .

Что означает контекст ссылки в этом случае?

Комментарии:

1. «Идентификатор пространства имен может предоставлять контекст (область действия в информатике) имени, и термины иногда используются взаимозаменяемо. Однако контекст имени может также определяться другими факторами, такими как местоположение, в котором оно встречается, или синтаксис имени «. ( en.wikipedia.org/wiki/Namespace#Namespace_versus_scope )

Ответ №1:

Контекст, в котором «:: m» или «X:: m» используется для обозначения чего-либо.

В данном конкретном случае, если код имеет форму using ::m или using X::m; , которые используют-объявления.