Typedefのウィキペディアのエントリには、最初の行の後の各行に次のように記載されています。
typedef int (*funcptr)(double); // pointer to function of double returning int
funcptr x = (funcptr) NULL; // C or C++
funcptr y = funcptr(NULL); // C or C++
funcptr z = static_cast<funcptr>(NULL); // C++ only
funcptr は、変数を宣言するために左側で使用され、値をキャストするために右側で使用されます。これで、2 行目が NULL を funcptr にキャストしていることがわかったので、x は NULL ですが、3 行目は一体何を意味するのでしょうか? ウィキペディアのエントリが示唆するように、それがキャストであると想定されている場合、なぜ括弧内に NULL があるのですか? 私はそのタイプの型キャスト構文に精通しておらず、これがどこで説明されているかを知りたいと思っています。