gpt4 book ai didi

c++ - 有没有简单的方法来检查一个值是否不能安全地由另一种类型呈现?

转载 作者:行者123 更新时间:2023-12-04 11:58:32 26 4
gpt4 key购买 nike

如题。
例如,假设我们有一个 int8_t 值“-10”,我想在我的程序中动态检查(运行时值)是否是这个精确的整数值 -10可以在 std::trunc 之后由 uint32_t 变量安全地保存.在这种情况下,由于这是一个负值,所以它不能被无符号类型保存。我怎样才能在 C++ 代码中做到这一点?因为如果我使用正常的比较方式,隐式转换会破坏如下所示的类型信息。有没有其他简单的方法可以做到这一点?

  int8_t v = -10; 
if (v <= std::numeric_limits<uint32_t>::max() &&
v >= std::numeric_limits<uint32_t>::min()) {
// It will be true here.
}
我想找到一种健全的方法来检查目标类型的可用值范围是否可以完全覆盖源类型的所有可用值。意思是显式转换后,结果值应该与原始值完全相同。

最佳答案

关于c++ - 有没有简单的方法来检查一个值是否不能安全地由另一种类型呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68061199/

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