#define A (10)と#define A 10に違いはありますか?
これまで手に取ってきた数少ない技術書の著者がすべて同じで,最近読んでいる著者とは違い#define時にが()あり
何か意味があってこうしているのかな,と疑問に思い質問させていただきました
やはり著者が違うので,人によってつける,つけないが分かれていて 特にこれといった意味はないですか?
#defineについて
Re: #defineについて
おーばー さんが書きました:#define A (10)と#define A 10に違いはありますか?
これまで手に取ってきた数少ない技術書の著者がすべて同じで,最近読んでいる "本の" 著者とは違い#define時にが()あり
抜けがありましたm(__)m
Re: #defineについて
マクロの置換先にカッコが入るかどうかの違いがあります。
例えば、 と関数内に書いたとき、Aの定義が ならコンパイルエラーにならずにputchar関数が実行されるでしょうが、 ならコンパイルエラーになるでしょう。
例えば、 と関数内に書いたとき、Aの定義が ならコンパイルエラーにならずにputchar関数が実行されるでしょうが、 ならコンパイルエラーになるでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: #defineについて
カッコが付いてないときのデメリットは感じたことがあります。
しかし、カッコが付いているときのデメリットは感じたことがありません。自分は。
ただ、識者のかたがたには、カッコが付いていてもデメリットがあるぞ!というかたがいらっしゃるかもしれません。
その場合は、具体例を挙げてこんなデメリットがあるぞ!と説明してくださることでしょう。
しかし、カッコが付いているときのデメリットは感じたことがありません。自分は。
ただ、識者のかたがたには、カッコが付いていてもデメリットがあるぞ!というかたがいらっしゃるかもしれません。
その場合は、具体例を挙げてこんなデメリットがあるぞ!と説明してくださることでしょう。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: #defineについて
こんな例が適切かどうかはわかりませんが…。
カッコのあるなし(付け方含む)で結果がどういう風に違うか、よかったら確認してみてください。
意図としてはどれも 3 * 3 = 9 という計算をしたいんだけど、さて結果は?
カッコのあるなし(付け方含む)で結果がどういう風に違うか、よかったら確認してみてください。
意図としてはどれも 3 * 3 = 9 という計算をしたいんだけど、さて結果は?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。