Code wird schlecht lesbar, wenn man diese Funktionen benutzt, und sie decken nur einen kleinen Teilbereich der Problemzone Integer ab.
Viel besser wäre es gewesen, eine std::safe_int Klasse einzuführen, die an SafeInt angelehnt wäre. Damit wäre vielen Programmiererproblemen abgeholfen, auch wenn's etwas Rechenzeit kostet.
Überlauf
Unterlauf
Vergleiche von verschiedenen Typen
Division durch Null
... würden zu wohldefinierten Fehlern führen (üblicherweise Exceptions), statt zu (Code, der richtig aussieht, aber falsch ist) oder (Code, der richtig, aber unlesbar ist).