LINUX.ORG.RU

История изменений

Исправление devsdc, (текущая версия) :

Массив не растёт в размере, один раз выделяю память с запасом.
с запасом

Да, таких массивов будет много, могу не влезть в оперативку.

Неужто делать так, а потом возиться с тем, что предложат в этом треде, действительно лучше, чем делать два разных массива нужных (динамически определяемых) размеров?

Ну или сделать один массив типа B, но первую часть использовать только как A.

Тут проблема-то не только с тем, как сделать такой массив, но и с тем, как оно потом будет использоваться. Обращение к элементу массива arr[i] компилируется во что-то вроде *(arr + sizeof(element_size) * i), где element_size известно на момент компиляции. Ты же хочешь в одном массиве хранить элементы разных размеров, и определять тип элемента (а значит, и его размер) динамически. В этом случае указанная схема работать уже не будет.

Исправление devsdc, :

Массив не растёт в размере, один раз выделяю память с запасом.
с запасом

Да, таких массивов будет много, могу не влезть в оперативку.

Неужто делать так, а потом возиться с тем, что предложат в этом треде, действительно лучше, чем делать два разных массива нужных (динамически определяемых) размеров?

Ну или сделать один массив типа B, но первую часть использовать только как A.

Исходная версия devsdc, :

Массив не растёт в размере, один раз выделяю память с запасом.
с запасом

Да, таких массивов будет много, могу не влезть в оперативку.

Неужто делать так, а потом возиться с тем, что предложат в этом треде, действительно лучше, чем делать два разных массива нужных (динамически определяемых) размеров?