Список правил разрешения имен C ++ (и перегрузки)
Где я могу найти список правил, которые C ++ совместимый компилятор должен применять для выполненияразрешение имен (включая перегрузку)?
Я хотел бы что-то вроде алгоритма естественного языка или блок-схемы.
Стандарт C ++, конечно, имеет этот набор правил, но он создается по мере того, как вводятся новые языковые операторы, и результат довольно трудно запомнить.
Короче говоря, я хотел бы знать полный и подробный ответ на вопрос "Что делает компилятор, когда видит имя 'A'?»
Я знаю, что C ++ - это всеМы делаем это, когда X, но не Y, если Z имеет место«Итак, я спрашиваю, возможно ли сделать его более линейным.
РЕДАКТИРОВАТЬЯ работаю над черновиком этой темы, который может быть улучшен коллективно после публикации. Однако я очень занят в эти дни, и может потребоваться время, чтобы что-то опубликовать. Если кому-то будет интересно, я буду рекламировать «личную заметку о необработанном текстовом файле» и публиковать ее.