определении вложенного шаблон
Автор admin
Понедельник, 18 мая 2009 11:32
определении вложенного шаблона за пределами вмещающего класса. Например, если при реализации шаблона complex вложенный шаблон-конструктор определяется вне определения класса complex, это должно выглядеть так: tempiate tempiate complех<Т>::complex(const complex& с) {/*Тело определения…*/} Вложенные шаблоны функций также применяются в стандартной библиотеке для инициализации контейнеров. Предположим, имеется вектор с элементами int, и мы хотим использовать его для инициализации нового вектора с элементами double: int data[5] = {1.2.3.4.5}: vector vl(data. data+5): vector v2(vl.begin(). vl.endO); Пока элементы vl остаются совместимыми по присваиванию с элементами v2 (как double и int), можно не волноваться. В шаблоне класса vector определен следующий конструктор, оформленный в виде вложенного шаблона: template vector(Input Iterator first, Inputlterator last, const Allocators = Allocator)): В приведенных выше объявлениях vector этот конструктор вызывается дважды. При инициализации vl на базе массива int тип Inputlterator соответствует int*. Пр
Комментарии закрыты.
Последние комментарии