-3
当我实现vector3
类时,我有一个简单的问题。在模板中定义常数值的最佳方法
有几种方法可以在模板中定义常量值。这些差异是什么?我应该使用哪一个?
template<typename T>
;
1:T{1}
2:T{1.0f}
3:T{1.0}
4:static_cast<T>(1.0)
当我实现vector3
类时,我有一个简单的问题。在模板中定义常数值的最佳方法
有几种方法可以在模板中定义常量值。这些差异是什么?我应该使用哪一个?
template<typename T>
;
1:T{1}
2:T{1.0f}
3:T{1.0}
4:static_cast<T>(1.0)
无那些有所作为,除非你有从int不同的转换超过一个类型从浮动。我更喜欢第一个,因为它是最简短的
我认为唯一的区别是第4个选项不会与'explicit'构造函数一起使用。 – HolyBlackCat
如果您使用模板和类,为什么用C语言标记标记您的问题?请勿使用无关标签发送垃圾邮件。 –
这并不完全清楚你在问什么。你需要这个常数值在哪里?你用它做什么? 'constexpr T = 1'可以在很多情况下工作,但很难知道这是否正确。 – AndyG