gpt4 book ai didi

c++ - 如果需要,我如何安全地在任何带有剪裁的数字类型之间进行转换?

转载 作者:行者123 更新时间:2023-11-28 03:24:02 25 4
gpt4 key购买 nike

我想要一个如下形式的函数

template <typename T, typename U>
U clipAndCast(T x)
{
...
return y;
},

其中 y 是 x 转换为类型 U,但如果需要,x 被剪裁,以便此转换是明确定义的。

是否有库或增强功能可以做到这一点?我找不到,如果找不到,编写这样一个函数的最佳方法是什么?

最佳答案

方法是测试进来的值是否大于等于出去的类型的最小值,小于等于出去的类型的最大值。您可以使用 std::numeric_limits<U>::min()std::numeric_limits<U>::max()获取最小值和最大值。

关于c++ - 如果需要,我如何安全地在任何带有剪裁的数字类型之间进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630182/

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