186 Глава 5 • Шаблоны public:

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

186 Глава 5 • Шаблоны public: void push(const T& t); // И т. д. }: Если теперь при объявлении шаблона опустить второй аргумент, то значение N по умолчанию будет равным 100. Значения по умолчанию можно определить для всех аргументов, но тогда при объявлении экземпляра необходимо использовать пустые угловые скобки. Без них компилятор не поймет, что речь идет о шаблоне класса: tempiate // Значения по умолчанию class Stack { // у обоих параметров Т data[N]; // Фиксированная емкость N size_t count: public: void push(const T& t): // И т. д. }: Stack<> myStack; // To же. что Stack Аргументы по умолчанию широко используются в стандартной библиотеке С++. Например, шаблон класса vector объявляется следующим образом: template > class vector: Обратите внимание на пробел между правыми угловыми скобками. Без него компилятор интерпретировал бы эти символы (») как оператор сдвига. Объявление показывает, что шаблон vector получает два аргумента: тип хранящихся в нем объектов и тип используемого шаблоном vector распределителя памяти. Ес


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