struct 的成员和基类默认是公共的,而在 class 中,它们默认是私有的。除此之外,struct 和 class 在功能上是等价的。但由于语义不同,它们在不同的地方被使用。struct 更像是一种数据结构,用于表示数据。另一方面,class 更像一个倾向于功能性的构造。它模仿事物存在的形式及其工作方式。
唯一安全的方法是在溢出发生之前检查是否存在溢出。还有一些检验整数溢出的非常规方法。因此,如果你想检测无符号 int 加法中的溢出,你可以检查结果是否实际上小于任一加法值。比如:unsigned int x, y; unsigned int value = x + y; bool overflow = value < x; // 或者,"value < y" 也应该起作用这是因为,如果 x 和 y 都是无符号 int,并且相加后溢出,它们的数值不会大于它们中的任何一个,因为 ... 了解更多信息