Вопросы с тегом «name-lookup»

4
Что такое «Аргумент-зависимый поиск» (он же ADL или «Поиск Кенига»)?
Каковы хорошие объяснения того, что поиск зависит от аргумента? Многие также называют это Koenig Lookup. Желательно, чтобы я знал: Почему это хорошо? Почему это плохо? Как это работает?

4
Почему ADL не находит шаблоны функций?
Какая часть спецификации C ++ ограничивает поиск, зависящий от аргументов, от поиска шаблонов функций в наборе связанных пространств имен? Другими словами, почему последний вызов mainниже не компилируется? namespace ns { struct foo {}; template<int i> void frob(foo const&) {} void non_template(foo const&) {} } int main() { ns::foo f; non_template(f); …

2
Почему эта функция шаблона не работает должным образом?
Я читал о шаблонных функциях и запутался в этой проблеме: #include <iostream> void f(int) { std::cout << "f(int)\n"; } template<typename T> void g(T val) { std::cout << typeid(val).name() << " "; f(val); } void f(double) { std::cout << "f(double)\n"; } template void g<double>(double); int main() { f(1.0); // f(double) f(1); …

3
Требуется ли когда-либо полностью определенное имя класса до глобальной области видимости для внешних определений функций-членов?
Этот вопрос заставил меня задуматься о том, когда-либо полезно / необходимо полностью квалифицировать имена классов (включая оператор глобальной области видимости) в определении функции-члена вне класса. С одной стороны, я никогда не видел, чтобы это было сделано раньше (и синтаксис для правильной работы кажется неясным). С другой стороны, поиск имени в …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.