ределяет, нужно ли использоват

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

ределяет, нужно ли использовать переопределенную специализацию вместо основного шаблона. Но прежде чем переходить к примерам, нужно разобраться еще с двумя терминами. Уточненными именами называются имена, построенные по следующим схемам: • класс’.’.имя; • объект.имя; • указатель _на_объект->имя. Примеры уточненных имен: MyClass::f(): x.f(): p->f(): Уточненные имена неоднократно встречались на страницах книги, причем в последний раз при описании ключевого слова typename. Они называются уточненными, потому что целевое имя (как f) явно связывается с конкретным классом или пространством имен. По этой информации компилятор узнает, где искать объявления этих имен. Другой важный термин — поиск с учетом аргументов (Argument-Dependent Lookup, ADL)1. Этот механизм изначально разрабатывался для упрощения вызова внешних функций (в том числе операторов), объявленных в пространствах имен. Рассмотрим пример: #include #include //… std: :string sC’hello”): std::cout « s « std::endl: Как обычно в заголовочных файлах, в этом фрагменте отсутствует директива using namespace std. Без этой директивы все


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