gpt4 book ai didi

c++ - 表达模板化负数字文字的首选方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:13:50 24 4
gpt4 key购买 nike

虽然有个不错的question关于模板化数字字面量的使用,没有提到数字字面量为负值的情况。

应该首选哪种变体,为什么?

一个

template <typename T>
T expr(T x)
{
constexpr T scale = T(-9.0);
return x * scale;
}

B

template <typename T>
T expr(T x)
{
constexpr T scale = -T(9.0);
return x * scale;
}

最佳答案

我更喜欢 A 而不是 B。

选项 A 对类型的假设比 B 少,因为一元 - 可能没有为所有类型很好地定义(例如溢出条件等,但它适用于数字文字)。那并且它在眼睛上更容易一些。

当然,问题是针对数值类型的,所以两者都可以。

关于c++ - 表达模板化负数字文字的首选方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33155618/

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