- masashinakata
- 1460
- 1
- 0
- 1
あ, そういえば C++ でオーバーフローを検知するみたいの出来るんですか(今日の C はずっとそれを疑ってたけど結局そうではなかった)
2016-01-24 08:02:09@mayoko_ 自分は使ったことないですが、GCC5 の __builtin_add_overflow 等で検出できるっぽいです。 cpplover.blogspot.jp/2015/04/gcc-5.…
2016-01-24 08:26:36以前この記事読んで、デバッグ用にこの辺の処理を勝手にほげってくれる整数class作ろうと思ったことがある。 思っただけ。
2016-01-24 08:28:11@koyumeishi_ うーん, ちょっとめんどいですね… 冷静に MOD 用整数クラス作ったほうが良い気がしてきた
2016-01-24 08:31:57@mayoko_ ですねー。 これを使おうと思ったらデバッグ用整数クラス作って―って感じですかね #ifdef DEBUG using integer = int_debug; #else using integer = int; #endif
2016-01-24 08:44:27clang++ -fsanitize=signed-integer-overflow a.cpp とかやると clang では出来るのかな
2016-01-24 08:49:28@mayoko_ 本当に自作クラスぐらいしか無いものですかね... ( そのぐらいしか無さそうな気もしますが...
2016-01-24 09:02:23大抵のハードウェアではオーバーフロー検知してどうこうする作りにはなってるはずだけど、それをC++が使わせてくれるかどうかは別問題か。
2016-01-24 09:04:04@koyumeishi_ unsigned だけだと思ったんですが long long でも検出してくれますか?
2016-01-24 09:11:13-ftrapv 使ったらオーバーフロー検出してくれたけど、cinつかってintに入りきれない整数読もうとしても落ちてくれない
2016-01-24 09:11:20-ftrapv使うとオーバーフロー検知して例外発生させるほうの機械語に変換してるんじゃないかという気がする
2016-01-24 09:12:39今日の戦績。FHCに至ってはまぐれ。ここしばらく惨敗が続いていてまずい。今日は皆様に色々教わったので、明日ちゃんと復習しよう…: Codeforces Div 2: ooxx- FCH 2016 R2: x-o-
2016-01-24 10:22:48まずCodeforcesのC問題を倒した。[-10^14, 10^14]を取る値を無限大として初期化するときに10^9としていたのが原因…こりゃ駄目だ
2016-01-24 10:45:21