енты относятся к типу Т. В кон

Автор admin Среда, 20 мая 2009 11:32

енты относятся к типу Т. В конечном счете это приводит к специализации глобальной функции swap(int&,int&). • Уточненный вызов std::swap() не является зависимым из-за присутствия фиксированного пространства имен std. Компилятор знает, что нужное объявление нужно искать в std (чтобы уточненное имя считалось зависимым, в квалификаторе слева от парного двоеточия должен упоминаться параметр шаблона). Позднее шаблон функции std::swap() генерирует std::swap(int&,int&) на стадии специализации. Других зависимых имен в X::f() нет. Подведем итог: поиск зависимых имен осуществляется в момент специализации; исключение из этого правила составляют неуточненные зависимые имена, поиск которых начинается с определения шаблона. Поиск независимых имен в шаблонах производится рано, при обработке определения шаблона (при необхо- 222 Глава 5 • Шаблоны димости следующий поиск выполняется в момент специализации, когда известны фактические типы аргументов). Если вы действительно внимательно изучили этот пример (и даже поняли его смысл), в следующем разделе вас поджидает очередной сюрприз. Шаблоны и дружественные функции Объя


Комментарии закрыты.