Я прочитал несколько сообщений об изменении размера массива, но не нашел ничего для собственных классов. Мне нужен динамический массив «региона».
Шаг первый (определите класс):
class Region{
private:
int start;
int end;
public:
Region(){
start=0;
end=0;
}
// some get and set functions
}
Шаг второй (определите пустой массив области):
Region regions[0];
Шаг третий (добавляем новый регион)
// Pseudo-Code
generate a help array with dimension 1 (start is 0)
add old regions values to help (none, because it was empty in the beginning)
add the new region to help
delete the regions array
initilize a regions array with dimension 1 (old dimension+1)
copy help to region
delete help
Думаю, шаг 2 уже неверен. Я хотел бы получить помощь по шагам 2 и 3.
И бонус (после того, как я понял шаги 2 и 3) может быть: как удалить конкретную проиндексированную область.
С уважением, Мартин





Для динамического массива вам нужен std::vector<Region> (см. Ссылку на cppreference). Он содержит операции вставки, удаления и выталкивания.
Вы можете эмулировать поведение самостоятельно с помощью new[] и delete[], но это не рекомендуется в C++.
Фактически, чтобы имитировать поведение std::vector (по крайней мере, со стандартными распределителями), вам также нужно задействовать размещение новое. Какой OP, вероятно, не захочет делать сам, если только он не прочитает несколько хороших книг о C++.
Динамический массив в
c++называетсяstd::vector.