2017-01-09 72 views
-3

当我实现vector3类时,我有一个简单的问题。在模板中定义常数值的最佳方法

有几种方法可以在模板中定义常量值。这些差异是什么?我应该使用哪一个?

template<typename T>;

1:T{1}

2:T{1.0f}

3:T{1.0}

4:static_cast<T>(1.0)

+4

如果您使用模板和类,为什么用C语言标记标记您的问题?请勿使用无关标签发送垃圾邮件。 –

+0

这并不完全清楚你在问什么。你需要这个常数值在哪里?你用它做什么? 'constexpr T = 1'可以在很多情况下工作,但很难知道这是否正确。 – AndyG

回答

0

无那些有所作为,除非你有从int不同的转换超过一个类型从浮动。我更喜欢第一个,因为它是最简短的

+0

我认为唯一的区别是第4个选项不会与'explicit'构造函数一起使用。 – HolyBlackCat

相关问题