2017-12-07 1 views
-5

1これは何を意味しますかreturn;p<0この設定方法は私に何を返すのですか?この返品を意味するもの

-(void)setSomething:(int)p{ 
    if (p<0) 
     return; 
    _p=p 
} 

2とはどのような違いがありますか?

-(void)setSomething:(int)p{ 
    if (p>=0){ 
     _p=p 
    }else{ 
     return; 
    } 
} 

3上記のelse文を省略した場合、どうなりますか?

答えて

1

あなたは効果的に同じことをしている関数を書く3つの方法があります。 pの値が負でない場合は、すべてpの値を_pに代入します。

  1. (void)には、何も返さないと表示されます。 したがって、return;は機能から出ること以外何もしていません。

  2. & 3.戻り値の型がvoidの関数の場合、関数本体の最後に明示的なreturn文は必要ありません。

ie。

-(void)setSomething:(int)p{ 
    <code> 
    return; 
} 

-(void)setSomething:(int)p{ 
    <code> 
} 

実質的に同じです。

return文の後に実行される行は2つではありません。elseブロックを持っていても、プログラムはその関数から終了します。

関連する問題