const int size = 50000;
char pool[size];
int freeMemory(void)
{
int freemem = 0;
for(int i = 0; i < size; i++)
{
if(pool[i] == NULL)
{
freemem++;
}
i++;
}
return freemem;
}
Если я вызываю freeMemory(), возвращаемый размер всегда имеет значение HALF того, что изначально было объявлено. 25000 специально здесь. Даже если я не инициализирую ничего в самом бассейне. Почему это? Нужно ли сначала инициализировать что-то?C++ Арена Allocator Свободная память всегда половина
void initialize(void)
{
//Don't quite understand if I need to initialize something here?
}
И я стараюсь избегать использования нового оператора. Причина в том, что я пытаюсь вручную управлять памятью внутри пула.
Ничего себе! Как глупо со мной. Приношу свои извинения за то, что вы потратили свое время на это lol – user99999991
@ user2229804 Эй, не беспокойтесь, случается со всеми нами. Upvote и отметьте ответ как правильный, если он решит вашу проблему. –
Да! Я не мог сделать это, пока таймер не кончился. Готово. :) – user99999991