7
テンプレート関数は、クラス内で定義されたメンバ関数のように、リンク時に複数の定義に苦しみません。また、constexpr
オブジェクトには内部リンケージがありますが、テンプレート変数には外部リンケージがあります(名前空間のスコープとC++ 14の両方の場合)。ODR違反とテンプレート変数について
template<class T>
constexpr T i_am_odr_safe{};
i_am_odr_safe
はC++ 14には、外部または内部リンケージを持っていますか?関数テンプレートのような複数の定義に関しては安全ですか?
つまり、i_am_odr_safe
odr-safeですか?