Каково определение «зависимого имени» в C ++? - PullRequest
5 голосов
/ 14 февраля 2020

В C ++ концепция зависимых имен важна, потому что:

Такие имена не связаны и просматриваются в момент создания шаблона ... в обоих контекст определения шаблона и контекст точки создания

Однако единственное, что в стандарте говорится, это зависимое имя, дано в [temp.dep] / 2 , ссылаясь на неквалифицированные вызовы функций, в основном для того, чтобы позволить ADL быть полностью эффективным для этих вызовов функций.

Существуют ли другие зависимые имена, кроме этих?

Рассмотрим некоторый код, подобный этому Например:

template <class T>
void foo(T t) {
    t.bar();
};

Если бы можно было ссылаться на bar как «зависимое имя», это было бы технически неправильное использование термина в соответствии со стандартом

...