Динамический массив списком блоков

321
28 сентября 2017, 15:09

Возникла проблема в реализации динамического массива списком блоков.

template <typename T>
Dynamic_Array {
private: 
    int size;
    T *ar;
public:
    ...
};

Но меня смущает, что я буду внутри выделять память уже используя динамический массив. Прошу вас идею написания. Реализацию класса я смогу написать сам, просто хотелось бы узнать как должно выглядеть в хорошем варианте класс динамического массива.

Answer 1

Примерно так же, как стандартный вектор. Оператор квадратных скобок, добавление в конец, выкидывание из конца, обработка через итераторы как стандартных контейнеров, вставка в произвольную позицию по итератору.

Рекомендую придерживаться той же стратегии как у вектора при выделении памяти: если выделенный кусок закончился, выделить в 2 раза больше, если после удаления стал в 4 раза больше, чем требуется, перевыделить и взять меньший кусок (не уверен, какого размера).

READ ALSO
Глобальная переменная для dll

Глобальная переменная для dll

Как объявить глобальную переменную в основной программе чтобы затем,в dll получить к ней доступ?

231
как узнать длину массива [требует правки]

как узнать длину массива [требует правки]

Как узнать длину массива, который объявлен в другой функцииВнутри функции все работает, но нет доступа из другой функции

326
Доступ к элементам класса наследника из класса родителя

Доступ к элементам класса наследника из класса родителя

Каким образом можно работать с классом С в классе В?

280
Как скомпилировать OpenGL(freeglut) с MinGW на С++

Как скомпилировать OpenGL(freeglut) с MinGW на С++

Проекты на С собираю вот так:

270