Skip to content

Garegin866/cpp-vector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vector — минималистичный динамический массив (C++)

Лёгкая реализация 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;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published