gpt4 book ai didi

c++ - 为什么 "unsigned int"+ "unsigned int"返回 "unsigned int"?

转载 作者:行者123 更新时间:2023-11-27 23:39:50 26 4
gpt4 key购买 nike

我相信当您将两个 unsigned int 值相加时,返回值的数据类型将是 unsigned int

但是两个 unsigned int 值相加可能会返回一个大于 unsigned int 的值。

那么为什么 unsigned int + unsigned int 返回一个 unsigned int 而不是其他更大的数据类型?

最佳答案

这将带来真正邪恶的后果:

真的希望 1 + 1 成为 long 类型吗? (1 + 1) + (1 + 1) 会变成 long long 类型吗?它会对类型系统造成严重破坏。

也可以,比如shortintlonglong long都是大小相同,对于 unsigned 版本也是如此。

因此,目前的隐式类型转换规则可能是最好的解决方案。

你总是可以用类似的东西来强制解决这个问题

0UL + "unsigned int" + "unsigned int"

关于c++ - 为什么 "unsigned int"+ "unsigned int"返回 "unsigned int"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56113257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com