LINUX.ORG.RU

История изменений

Исправление xaizek, (текущая версия) :

как раз наоборот, using в этом смысле гораздо более деструктивна

Чем? Это явное действие с определённым поведением в случае конфликта символов.

и тогда функция класса дожна перекрывать внешюю, по общему правилу, так же как её параметры и члены перекрывают внешние переменные

Так по общему правилу оно и перекрывает всё, а не выборочно. Ведь переменная, совпадающая с именем функции из внешнего пространства имён, скрывает ту функцию. Компилятор здесь не делит символы по типам, а обрабатывает всё одинаково. И тут стоит вспомнить, что переменные тоже можно вызывать как функции.

Исходная версия xaizek, :

как раз наоборот, using в этом смысле гораздо более деструктивна

Чем? Это явное действие с определённым поведением в случае конфликта символов.

и тогда функция класса дожна перекрывать внешюю, по общему правилу, так же как её параметры и члены перекрывают внешние переменные

Так по общему правилу оно и перекрывает всё, а не выборочно. Ведь переменная, совпадающая с именем функции из внешнего пространства имён, скрывает ту функцию. Компилятор здесь не делит символы по типам, а обрабатывает всё одинаково.