Лёгкая реализация std::vector-подобного контейнера на базе обёртки над сырой памятью RawMemory<T>. Код короткий и расширяемый.
Vector<T>с RAII-управлением памятью.RawMemory<T>: выделение/освобождение без конструирования.- Конструктор размера (value-construct), копирование, перемещение.
Reserve(cap),Swap,Size(),Capacity(),operator[](без проверок).- Перемещающее присваивание — O(1) (обмен буферов, без разрушения элементов в момент присваивания).
- C++20+
- GCC/Clang/MSVC (современные версии)
Скопируйте заголовок(и) в проект и подключите:
#include "vector.hpp" // путь/имя файла по вашему проектуVector<int> v(3); // [0,0,0]
v.Reserve(10); // перераспределение без лишних конструкторов
Vector<int> u = std::move(v); // O(1) перенос буфера
u[0] = 42;