円周率πを自前で定義するとき、次のような書き方をたまに見かける。

#define PI 3.14159265

別にこれで悪いわけではないのだが、とんでもなく桁数が長くなっていたりすると、なんとも言えない気持ちになる。

こんな書き方でいいんじゃないだろうか。

static const double pi = atan(1.0) * 4.0;

あるいは、MSVC ならば、/Oi (Generate Intrinsic Functions) オプションをつけて、こんな感じでもいいのかもしれない。

#ifndef PI
#define PI (atan(1.0) * 4.0)
#endif

gcc でも同様のオプションがあるのかもしれないが、調べていない。