メソッド/関数からの戻り値を括弧で囲んでいるコードに出くわしました。
それは何をしますか?
私が見たコードは、画像を取得し、サイズを変更してから返しました。
- (UIImage *)resizeImage:(UIImage *)image
{
//
// some fascinating, but irrelevant, resizing code here
//
return (image);
}
メソッド/関数からの戻り値を括弧で囲んでいるコードに出くわしました。
それは何をしますか?
私が見たコードは、画像を取得し、サイズを変更してから返しました。
- (UIImage *)resizeImage:(UIImage *)image
{
//
// some fascinating, but irrelevant, resizing code here
//
return (image);
}
少なくとも C に関する限り、違いはありません。括弧は必須ではありませんが、return ステートメントの意味は変わりません。return ステートメントの文法は次のとおりです。
return-statement : return 式のopt ;
非終端式の生成の 1 つは、括弧で囲まれた式、または( 式 )です。
何もない。それはまったく役に立たない。
これは演算子の優先順位をオーバーライドしますが、「return」よりも優先順位が低い演算子はありません。
簡単な答えは、「//コメント」の代わりに「/* コメント */」を使用するなど、スタイルの選択であるということです。
あなたの場合、括弧なしでリターンを入力するのと同じです。通常、型のキャストにかっこを使用するか、式を独立したブロックとして扱いたい場合に使用します。
例えば:
// This is an untyped pointer to an instance of SomeClass
void* ptr = instance;
// In order to let the compiler know that ptr is an instance of SomeClass
// we cast it, and then we put the cast in parentheses to be able to access
// a property on the result of the cast.
return ((SomeClass *)ptr).someproperty;