そんなことを書く人は新人プログラマーのA君に違いありません!
私も調べて初めて知ったテクニックなのですが、こんな話のようです。(参考文献)
- いつもの10^9+7の剰余だから32bitで収まると思ったら、掛け算あるから32bitじゃオーバーフローしちまう。
- げ、今のコード、全部
int
だわ、書き直すのきっつ、どうしよう。
- そうだ、
#define int long long
って書けば全部64bitになるじゃないか!俺、天才!
- 何?
main
の戻り値がint
じゃないって?このコンパイラは融通きかねーなー。
- そうだ、
int
ってsigned int
とかsigned
とかもかけるよな?それでなんとかならねーか?
signed main()
って書いたらコンパイラ通るじゃねーか、よし、これで行こう!俺、やっぱ、天才!
かくして
C++
1#define int long long
2signed main() {}
という、謎テクニックが生まれたようです。よい子は横着せずに#define ll long long
とか使いましょうね。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/26 14:03
2020/10/26 14:05
2020/10/26 14:24
2020/10/26 23:27
2020/10/28 02:34