Когда сторонняя функция C возвращает указатель, следует ли вам ее освободить самостоятельно?

Существует много функций (особенно в библиотеке POSIX), которые возвращают указатели на почти обязательно свежие данные. На их страницах не сказано, нужно ли их освобождать или есть какой-то неясный механизм в игре (например, возвращение указателя на статический буфер или что-то в этом роде).

Например, inet_ntoa функция возвращает char * , скорее всего, из ниоткуда, но на странице руководства не указано, как она была выделена. В итоге я вместо этого использовал inet_ntop , потому что, по крайней мере, я знал, откуда взято назначение.

Каково стандартное правило для функций C, возвращающих указатели? ВОЗ' отвечает за освобождение своей памяти?

7
задан zneak 5 September 2010 в 21:49
поделиться