アカウント名:
パスワード:
#define BEGIN {#define END }...
というのが延々と続く例の本のマクロみたいなのをプロジェクトで押しつけられたとき。デバッグで死にました。
PASCAL 経験者がやりがちかもしれない…
typedef int boolean ; #define false (0) #define true (!0)
こんなのは、バグを誘発する可能性ありますよね。C言語では論理値は 2値ではないので、true の判定で。
boolean b = … ; if (b==false) { … } (1) if (b==true) { … } (2)
(1) のコードはいいとしても、(2) のコードでは意図したように判定できない場合がありますよね。「b != false」 なら問題ないのでしょうけど… (≧ω≦)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
#include "pascal-macro.h" (スコア:0)
#define BEGIN {
#define END }
...
というのが延々と続く例の本のマクロみたいなのをプロジェクトで押しつけられたとき。
デバッグで死にました。
Re:#include "pascal-macro.h" (スコア:1)
PASCAL 経験者がやりがちかもしれない…
こんなのは、バグを誘発する可能性ありますよね。C言語では論理値は 2値ではないので、true の判定で。
(1) のコードはいいとしても、(2) のコードでは意図したように判定できない場合がありますよね。「b != false」 なら問題ないのでしょうけど… (≧ω≦)