Я ищу наиболее удобный/лучший/умный способ для освобождения памяти. Не совсем уверен, что это лучшее объяснение там, но вот пример, который покажет, что я хочу сделать:Самый удобный способ освободить несколько указателей памяти?
void func()
{
int* ptr1 = malloc(1);
if(ptr1 == NULL)
{
//...
}
int* ptr2 = malloc(1);
if(ptr2 == NULL)
{
//...
free(ptr1);
}
int* ptr3 = malloc(1);
if(ptr3 == NULL)
{
//...
free(ptr2);
free(ptr1);
}
//code...
}
Единственное, что приходит на ум это массив заполнен флагами, если флаг повышенная определенная память должна быть освобождена. Есть ли еще более удобный способ сделать это? Вы можете себе представить, сколько раз мне нужно повторить free()
, если есть необходимость в более malloc()
-е.
поместить их в массив, который является NULL завершение/инициализация и повторение этого массива. –
Я надеюсь, что есть другой способ сделать это, кроме использования массива. –
'ptr1 * = malloc (1);' полная чушь. пожалуйста, напишите реальный код. – joop