msa6886
@msa6886

Как сделать динамическое увеличение кол-ва структур?

В начале программа копирует список камер в массив структур из mysql . Список камер в mysql будет со временем увеличиваться. Как сделать чтоб программа увеличивала место в зависимости от кол-ва камер. Сейчас у меня вот так:
struct _cam_list
{
char id [10];
char ip_nvr[50];
char ip_addr[50];
int ch_num;
};
_cam_list cam_list[100] = {} ;

1 камера = 1 структура.
т.е. имеется массив 100 структур для максимум ста камер. Если камер будет 500 или 2000, нужно ешо больше выделить память, хотелось бы сделать динамическое увеличение. Может быть следует использовать вектора или есть какие-либо другие способы?
  • Вопрос задан
  • 347 просмотров
Решения вопроса 1
TrueBers
@TrueBers
Гуглю за еду
Если у вас С++, а не чистый Си, то конечно используют std::vector. А вместо char[] используют std::string.
Если Си, то придётся выделять динамически через malloc.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BacCM
@BacCM
C++ почти с рождения
Как уже советовали, проще всего использовать std::vector. Но тут важно понимать то, что при перевыделении памяти элементы вектора копируются. Поэтому если можно посмотреть в сторону std::list или хранить структуры по указателям в векторе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы