циализация требуется для шабло

Автор admin Вторник, 19 мая 2009 11:32

циализация требуется для шаблонов классов, но мы начнем описание синтаксиса с шаблона функции min(). Вспомните, что в приведенном примере MinTestcpp присутствовала следующая обычная функция: const char* min(const char* a. const char* b) { return (strcmp(a. b) < 0) ? a : b; } Она была нужна для того, чтобы вызов min() сравнивал строки, а не адреса. Хотя в данном случае это не дало бы никаких преимуществ, мы также могли бы определить отдельную специализацию min() для const char*, как сделано в следующей программе: //: C05:MinTest2.cpp #include #include using std::strcmp: Специализация шаблонов 209 using std::cout: using std::endl; tempiate const T& min(const T& a. const T& b) { return (a < b) ? a : b: } // Переопределение специализации шаблона min tempiate<> const char* const& m1n(const char* const& a. const char* const& b) { return (strcmp(a. b) < 0) ? a : b: } int mainO { const char *s2 - "say \"Ni-!\"". *sl - "knights who": cout « min(sl. s2) « endl: cout « mino(sl. s2) « endl: } ///:- Префикс template<> сообщает компилятору, что далее следует специализация ш


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