Posted at

気色の悪い C/C++ のコード


複雑怪奇な C/C++ 言語仕様

C/C++ 大好きプログラマによる C/C++ の言語仕様の闇(・∀・)。

register signed short int p = (int short)0x1234;

const long long int l = 5678[p];
(*******printf)(**(char***)l);

このコードが警告もなしにビルドが通る C/C++、まじキモい(・∀・)。

1行目はまあ普通?だけど、2行目と3行目は何でビルドが通るか説明できないプログラマもある程度は居ると思われ(・∀・)。


最新の C++ 17 では register キーワードが使えないのでビルドに失敗します(register

を外せばビルドは通る )