Ответ 1
Квалифицированное имя - это имя, которое имеет какой-либо показатель того, где он принадлежит, например. спецификацию класса, спецификацию пространства имен и т.д. Неквалифицированное имя - это тот, который не является квалифицированным.
Прочитайте ответ Джеймса Макнеллиса здесь:
Что такое вложенный спецификатор имен?
Дано:
struct A {
struct B {
void F();
};
};
-
A
- это неквалифицированный идентификатор. -
::A
является квалифицированным идентификатором, но не имеет спецификатора вложенных имен. -
A::B
- это квалифицированный идентификатор, аA::
- спецификатор вложенных имен. -
::A::B
- это квалифицированный идентификатор, аA::
- спецификатор вложенных имен. -
A::B::F
- это идентификатор с квалификацией и обаB::
иA::B::
являются вложенными именами. -
::A::B::F
является квалифицированным идентификатором, аB::
иA::B::
являются вложенными именами.