Оба метода работают, но какой из них быстрее или эффективнее в случае ptr == NULL
?Выполнение методов бесплатно (указатель)?
void voo()
{
str *ptr = NULL;
// try to malloc memory and do something
// leaving methode and free the memory
if(ptr != NULL)
{
free(ptr);
ptr = NULL;
}
}
Мне нужен if
запрос вообще, если я оставлю метод делать? Не так ли быстро дать free
памяти в любом случае?
void baa()
{
str *ptr = NULL;
// try to malloc memory and do something
// leaving methode and free the memory
free(ptr);
ptr = NULL;
}
'free (ptr)' вы имеете в виду, правильно? –
Почему вы помечаете C++? Обычно вы не используете 'malloc' /' free' в C++, и в большинстве случаев, как вы, вы бы не использовали динамическое размещение. – crashmstr
Окончательный 'ptr = NULL' также бессмыслен (хотя компилятор должен понимать это, а не генерировать какой-либо код времени для его использования). –