アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のような場合には最終行はint i=(num) ? 0:*num;に直すべきでしょうか?
int *num;
・・・略
・・・ここでnumはNULLかもしれません。
int i=*num;

A 回答 (2件)

nullの処理をしたいのならそれでは不十分です。



int i=(!num) ? 0:*num;
とするのはnumがnullの時はiが0で処理しても良いことが
保証されているときにだけすべきです。


そういった補償がないのなら以下のようにすべきでしょう。

if(num == NULL)
return 0;//返す値は取り決めてください

int i = *num;
    • good
    • 0
この回答へのお礼

大事なことを書くのを忘れていました。
numがNULLの時はiは0で処理してほしいです。

お礼日時:2011/02/21 22:58

>int i=(num) ? 0:*num;に直すべきでしょうか?



直すとすれば、

int i = (num) ? *num : 0;

の方がよくないですか?
あくまで、直すとすれば、の話ですけど。
    • good
    • 0
この回答へのお礼

反対に書いていましたね。ありがとうございます。

お礼日時:2011/02/21 22:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!