プリプロセッサのための #

あるコードを見ていたら、こんなのが出てきた。

#if defined(XERCES_NO_NATIVE_BOOL)
  #ifndef bool
    typedef int     bool;
  #endif
  #ifndef true
    #define  true     1
  #endif
  #ifndef false
    #define false     0
  #endif
#endif

きしょくわる〜
# って 1 桁目じゃなくてもいいの?
知らんかった。

今まで、こういうときは、こんな風に書いてた。

#if defined(XERCES_NO_NATIVE_BOOL)
#  ifndef bool
    typedef int     bool;
#  endif
#  ifndef true
#    define  true     1
#  endif
#  ifndef false
#    define false     0
#  endif
#endif

どっちの方が、きしょくわるい?