数字函数 return 值是否需要显式 static_cast?

Is explicit static_cast required for nuneric function return value?

例如,我想将一个带符号的 char 值 v 饱和转换为一个无符号的值。 以下两种实现有什么区别吗?一个没有显式静态转换,另一个有。

unsigned char saturate_cast_to_uchar(signed char v)
{
    return std::max(static_cast<int>(v), 0);
}
unsigned char saturate_cast_to_uchar(signed char v)
{
    return static_cast<unsigned char>(std::max(static_cast<int>(v), 0));
}

Is there any difference for the following two implementations?

行为没有区别。从 intunsigned char 的隐式转换与从 intunsigned char

的静态转换具有完全相同的行为