Я получил комментарий к моему ответу в этой теме:
Malloc внутри вызова функции, кажется, освобождается по возвращении?
Короче, у меня был код:
int * somefunc (void)
{
int * temp = (int*) malloc (sizeof (int));
temp[0] = 0;
return temp;
}
Я получил этот комментарий:
Могу я просто сказать, пожалуйста, не бросайте возвращаемое значение malloc? Это не требуется и может скрывать ошибки.
Я согласен с тем, что в C не требуется отрисовка. Это обязательное условие в С++, поэтому я обычно добавляю их на всякий случай, когда мне нужно в следующий раз выгрузить код на С++.
Однако мне интересно, как подобные приведения могут скрыть ошибки. Любые идеи?
Изменить:
Похоже, что с обеих сторон есть очень хорошие и веские аргументы. Спасибо за публикацию, ребята.