Двухфазный поиск - требуется объяснение

Что это значит, что компилятор использует двухфазный поиск для компиляции шаблонного класса?

1 ответ

Решение

Шаблоны компилируются (по крайней мере) дважды:

  1. Без создания экземпляра сам код шаблона проверяется на синтаксис.
    Например: любые ошибки синтаксического типа, такие как ; и т.п.

  2. Во время создания экземпляра (когда известен точный тип) код шаблона проверяется снова, чтобы убедиться, что все вызовы действительны для этого конкретного типа.
    Например: шаблон может вызывать вызовы функций, которые могут отсутствовать для этого конкретного типа.

Это называется двухфазным поиском.

Другие вопросы по тегам