/
fedotkinasa
/
RAII_homework
Обзор
Документация
Войти
/
fedotkinasa
/
RAII_homework
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
smart_array.cpp
44 строки
1 KB
fedotkinasa
create smart_array.cpp
15 авг 2025, 15:54
15 авг 2025, 15:54
f8adec8
Код
Авторство
О чём код?
// smart_array.cpp #include "smart_array.h" smart_array::smart_array(size_t cap) : capacity(cap), size(0) { data = new int[capacity]; } smart_array::~smart_array() { delete[] data; } smart_array::smart_array(const smart_array& other) : capacity(other.capacity), size(other.size) { data = new int[capacity]; for (size_t i = 0; i < size; ++i) { data[i] = other.data[i]; } } void smart_array::swap(smart_array& other) noexcept { std::swap(data, other.data); std::swap(capacity, other.capacity); std::swap(size, other.size); } smart_array& smart_array::operator=(smart_array other) { swap(other); return *this; } void smart_array::add_element(int element) { if (size >= capacity) { throw std::out_of_range("Cannot add element: array is full"); } data[size++] = element; } int smart_array::get_element(size_t index) const { if (index >= size) { throw std::out_of_range("Index out of range"); } return data[index]; }