ли второй аргумент не указан,

Автор admin Воскресенье, 17 мая 2009 11:32

ли второй аргумент не указан, применяется стандартный шаблон allocator, параметризованный по типу первого параметра шаблона. Данное объявление также показывает, что параметры шаблонов тоже могут указываться в последующих параметрах шаблонов, как параметр Т в нашем примере. Хотя аргументы по умолчанию не разрешается использовать в шаблонах функций, параметры шаблонов могут быть аргументами по умолчанию обычных функций. Следующий шаблон функции суммирует элементы последовательности: //: C05:FuncDef.cpp #include using namespace std: tempiate T sum(T* b. T* е. T init – TO) { while(b != e) init += *b++: return init: } int mainO { int a[] = {1.2.3}; cout « sum(a. a+sizeof a / sizeof a[0]) « endl; // 6 } ///:- Третий аргумент sum() определяет начальное значение накапливаемой суммы. Поскольку при вызове он не указан, по умолчанию этот аргумент равен Т(). В слу- Параметры шаблонов 187 чае типа int и других встроенных типов это приводит к вызову псевдоконструктора и инициализации переменной нулями. Шаблоны как параметры шаблонов Третья разновидность параметров, передаваемых шаблонам, — други


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