Cでは、次のようなものは、解放できないメモリへのポインタを返すため、災害(つまり、メモリリーク)になります。
NSString* foo()
{
return [NSString stringWithFormat:@"%i+%i=%i", 2, 2, 2+2];
}
返されたポインタが指すメモリが自動解放されるので、Objective-Cでは実際にそれは完全に問題ありませんか?大丈夫だとしても、なんらかの理由で眉をひそめているのでしょうか?以下のように、Cスタイルを好む理由はありますか?
void foo(NSString ** modifyMe)
{
*modifyMe = [NSString stringWithFormat:@"%i+%i=%i", 2, 2, 2+2];
}