-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