プログラミングでは、Kernighan&Ritchieによって導入された一般的なルールがあり、「malloc」によって割り当てられたすべてのスペースに対して「無料」と呼んでいます。
したがって、次のコードは正しいです。
- (UIImage*) convertImage:(UIImage*)sourceImage {
unsigned char *rawData = malloc(requiredSpace);
...
...
free(rawData);
return imageRef;
}
ただし、関数内にはカプセル化もあります。そのため、関数から戻った後、メモリは自動的に解放されます。したがって、理論的には、上記の例では無料は絶対に必要ではありません。これは正しいです?