шаблоны разработки используются в STL (стандартная библиотека шаблонов)

Я изучаю STL и шаблоны разработки. я хотел знать, там любой документ, или свяжитесь, который объясняет, как шаблоны разработки реализованы в STL, я сделал Google, но не способный получить много данных

8
задан Draco Ater 23 April 2010 в 12:48
поделиться

4 ответа

Надеюсь, вы имеете в виду, «какие шаблоны проектирования можно идентифицировать в STL».

Стек STL - это контейнерный адаптер. Адаптер - это шаблон проектирования. Итератор также является шаблоном проектирования. Функциональные объекты STL связаны с шаблоном команды.

Шаблоны:

  1. Адаптер (адаптеры контейнера)
    • стек
    • очереди
    • очереди приоритетов
  2. Итератор
  3. Команда + адаптер (функциональные адаптеры)
  4. Итератор + адаптер (адаптеры итераторов)
    • обратные итераторы
    • итераторы вставки
    • итераторы потока
  5. Шаблонный метод (алгоритмы STL с использованием функций, заданных пользователем)
  6. Какой творческий образец? (Распределители)

Способ реализации этих шаблонов сильно отличается от того, как они реализованы в объектно-ориентированном дизайне. Йосаттис писал, что «концепция STL противоречит исходной идее объектно-ориентированного программирования». Это то, что вызывает путаницу вокруг вашего вопроса.

15
ответ дан 5 December 2019 в 09:24
поделиться

Шаблон итератора довольно активно используется в STL.

1
ответ дан 5 December 2019 в 09:24
поделиться

Я думаю, что ваша проблема в том, что шаблоны проектирования не реализованы в STL . Они могут быть реализованы на C ++ и использовать контейнеры и алгоритмы из STL, но STL и шаблоны проектирования никак не связаны друг с другом.

Я бы посоветовал изучить STL, прочитав что-нибудь вроде отличной книги Николая Йосуттиса Стандартная библиотека C ++: Учебное пособие и справочник или Учебное и справочное руководство по STL . Это поможет вам узнать, что STL может для вас сделать. Затем погрузитесь в реализацию шаблонов проектирования на C ++, используя свои знания о STL.

1
ответ дан 5 December 2019 в 09:24
поделиться

STL широко использует шаблоны. GoF называют это параметризованными типами. Шаблоны полезны для настройки решения по шаблону проектирования или придумывания нового, интуитивно понятного решения. (Подробнее см. раздел "Наследование против параметризованных типов" в статье "Паттерны проектирования: Elements of Reusable Object-Oriented Software"). Преимущество знакомства с STL (и boost) в том, что они являются хорошим источником для изучения шаблонов (и метапрограммирования) в C++, что, в свою очередь, может быть использовано при разработке лучших проектов.

1
ответ дан 5 December 2019 в 09:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: