C++において、オーバーフローを検知するビルトイン関数が使える環境および使えない環境での 飽和演算(Saturation Arithmetics)の実装方法について解説する。 なお、C++26 以降であれば、本ページで解説する add_sat() や sub_sat() などの関数は 標準ライブラリで提供されるため、自前で実装する必要はない。 本ページのコードはGitHubで公開しているので、興味のある方はリンクから参照してほしい。 なお、簡潔のために本ページの例示コードでは constexpr や SFINAE などの枝葉のコードは省略している。