те внимание: пример applySeque

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

те внимание: пример applySequence.h не включает заголовочные файлы STL (и вообще какие-либо заголовочные файлы), поэтому он не ограничивается контейнерами STL. С другой стороны, он делает определенные предположения, относящиеся к последовательным контейнерам STL (прежде всего по поводу имени и поведения iterator), а также считает, что элементы контейнера представляют собой указатели. Наличие нескольких версий apply() еще раз показывает, как перегружаются шаблоны функций. Хотя эти шаблоны позволяют использовать любой тип возвращаемого значения (который на самом деле игнорируется и требуется лишь для обязательного соответствия типов), разные версии получают разное число аргументов, а поскольку это шаблон, аргументы могут относиться к произвольному типу. Единственное неудобство состоит в том, что не существует «супершаблона», который бы генерировал шаблоны за вас. Вы должны сами решить, сколько аргументов может понадобиться, и создать соответствующие определения. Чтобы проверить, как работают перегруженные версии apply(), мы создадим класс Gromit1 с функциями, получающими разное количество аргументов и воз


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