Автор: oleg_alexeev (08.04.2007 в 12:56)
>> зачем, почему, для чего...
Зачем и для чего - это на самом деле один вопрос. И Страуструп на него вполне нормально отвечает в самом начале главы о шаблонах - чтобы иметь возможность написать алгоритм один раз, не переписывая его каждый раз для нового типа данных. Например, написал я алгоритм сортировки для целых чисел. Если потом мне надо будет сортировать вещественные числа, мне придется создать копию этой функции, заменив тип int на double. При использовании механизма шаблонов я могу тело функции написать только один раз, а компилятор мне сгенерирует нужный код для разных типов данных.
Вопрос почему? не корректен. Почему кошку назвали кошкой? :-)
Хотя, наверное, на него можно ответить так: шаблоны пришлость придумать потому, что С++ строго типизированный язык - в функцию, принимающую в качестве параметра тип int не подставишь double. С помощю шаблонов такое ограничение можно преодолеть.