Я изучаю STL и шаблоны разработки. я хотел знать, там любой документ, или свяжитесь, который объясняет, как шаблоны разработки реализованы в STL, я сделал Google, но не способный получить много данных
Надеюсь, вы имеете в виду, «какие шаблоны проектирования можно идентифицировать в STL».
Стек STL - это контейнерный адаптер. Адаптер - это шаблон проектирования. Итератор также является шаблоном проектирования. Функциональные объекты STL связаны с шаблоном команды.
Шаблоны:
Способ реализации этих шаблонов сильно отличается от того, как они реализованы в объектно-ориентированном дизайне. Йосаттис писал, что «концепция STL противоречит исходной идее объектно-ориентированного программирования». Это то, что вызывает путаницу вокруг вашего вопроса.
Я думаю, что ваша проблема в том, что шаблоны проектирования не реализованы в STL . Они могут быть реализованы на C ++ и использовать контейнеры и алгоритмы из STL, но STL и шаблоны проектирования никак не связаны друг с другом.
Я бы посоветовал изучить STL, прочитав что-нибудь вроде отличной книги Николая Йосуттиса Стандартная библиотека C ++: Учебное пособие и справочник или Учебное и справочное руководство по STL . Это поможет вам узнать, что STL может для вас сделать. Затем погрузитесь в реализацию шаблонов проектирования на C ++, используя свои знания о STL.
STL широко использует шаблоны. GoF называют это параметризованными типами. Шаблоны полезны для настройки решения по шаблону проектирования или придумывания нового, интуитивно понятного решения. (Подробнее см. раздел "Наследование против параметризованных типов" в статье "Паттерны проектирования: Elements of Reusable Object-Oriented Software"). Преимущество знакомства с STL (и boost) в том, что они являются хорошим источником для изучения шаблонов (и метапрограммирования) в C++, что, в свою очередь, может быть использовано при разработке лучших проектов.