Skip to content

Latest commit

 

History

History
22 lines (16 loc) · 1.48 KB

File metadata and controls

22 lines (16 loc) · 1.48 KB

Vector

В этом задании вам необходимо реализовать простой аналог класса std::vector.

Вектор принимает один шаблонный параметр T — тип хранимых элементов.

Note

std::vector также принимает необязательным вторым шаблонным параметром тип используемого аллокатора, но вам таким заниматься не надо — достаточно использовать операторы new/delete.

В vector.h возле каждого метода, который необходимо реализовать, указаны требуемые гарантии безопасности исключений и вычислительная сложность.

Обратите внимание, что несмотря на то, что стандарт определяет std::vector::shrink_to_fit как "non-binding request" (т.е. допускается реализация, которая ничего не делает), ваша версия этого метода обязана уменьшать capacity, если это имеет смысл.

Деструкторы элементов должны вызываться в порядке, обратном порядку их вставки.