Какова цель последовательных контейнерных адаптеров (например, стека, очереди) на C++?Адаптеры последовательного контейнера в C++
Спасибо.
Какова цель последовательных контейнерных адаптеров (например, стека, очереди) на C++?Адаптеры последовательного контейнера в C++
Спасибо.
Они обеспечивают более узкий интерфейс, который обеспечивает дополнительные invariants и поэтому безопаснее использовать, когда вы хотите сохранить эти инварианты.
Лучший ответ на ваш вопрос будет прочитать следующую книгу:
Однако, если вы хотите быстро и грязный ответ: не только стеки и очереди объектов модели реального мира, такие как программы стеков и очередей процессов, они также оптимальны для случайных операций вставки и удаления.
Вы можете просто объяснить это более подробно простым способом? Благодарю. – Simplicity
Рассмотрим функцию, * f *, в вашей программе, где у вас есть доступ к объекту * x *, с которым будет работать * f *. Когда вы пишете * f *, вам нужно будет сделать некоторые предположения о состоянии * x * (типы значений, которые могут содержать данные): это * предварительные условия * * f *. Если эти допущения ошибочны, программа будет плохо себя вести (у нее будет ошибка). * * Инварианты * * * * являются предположениями, что для вас очень безопасно говорить о состоянии * x * при написании * f *. – Raedwald
См. Http://en.wikipedia.org/wiki/Programming_by_contract – Raedwald