C++言語の新標準規格である「C++17」では、bool型に対する++演算子が利用できなくなるそうだ(cpprefjp - C++日本語リファレンス)。今まではbool型の変数に対し++演算子を適用すると、その変数の値をtrueにするという仕様となっていた。 なお、C言語にはbool型が存在しないため、int型をbool型の代用として使用することが良くあった。この場合、C++の仕様と同様に++演算子を適用するとその値は必ず1以上、つまりtrueになるように見える。しかし、変数の値がint型に格納できる最大値(たとばintが8ビットの場合255)になっていた場合、++演算子を適用するとオーバーフローが発生してその値は0、つまりfalseになってしまうという問題があった。 cpprefjp - C++日本語リファレンスによると、放射線療法機器「セラック25」ではこのバグが原因で死者を出す事故が
![C++17では非推奨だったbool型に対するインクリメント演算子の利用が不可能に | スラド デベロッパー](https://cdn-ak-scissors.b.st-hatena.com/image/square/6ecffada3eefc7ba54ee6c2b8d86cd77636eb0a6/height=288;version=1;width=512/https%3A%2F%2Fimages.srad.jp%2Ftopics%2Fprogramming_64.png)