cc} #include #incl

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

cc} #include #include #include #include using namespace std; tempiate charT strTolower(charT c) { return tolower(c); // Вызов версии с одним аргументом } int mainO { string s(“LOWER”); transforms.beginO .s.endO ,s.beginO ,&strTolower); cout « s « endl: } ///:- Вообще говоря, компиляторы С++ могут вводить новые имена по своему усмотрению. К счастью, большинство компиляторов не объявляет неиспользуемые имена. 204 Глава 5 • Шаблоны У этого решения имеется важное преимущество: оно работает и с узкими, и с расширенными потоками, поскольку базовый тип символов определяется параметром шаблона. Комитет по стандартизации С++ сейчас занимается такой модификацией языка, при которой бы работало самое первое решение (без преобразования типа), поэтому когда-нибудь об этих обходных решениях можно будет забыть. Применение функции к последовательным контейнерам STL Допустим, вы хотите вызвать некоторую функцию класса для всех объектов, хранящихся в последовательном контейнере STL (контейнеры STL рассматриваются в следующих главах, а пока воспользуемся знако


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