关于ODR侵略和模板变量



我知道,链接时模板函数不会遭受多个定义,例如在类内定义的成员函数,默认情况下是内联的。另外,constexpr对象具有内部链接,但是模板变量具有外部链接(我的意思是在命名空间范围,对于C 14)。

呢?

template<class T>
constexpr T i_am_odr_safe{};

i_am_odr_safe在C 14中是否具有外部或内部链接?对于功能模板(例如功能模板),这是安全的吗?

换句话说,i_am_odr_safe ODR-SAFE?

这是核心问题1713,IIRC的方向是该变量模板将具有外部链接。

否,这尚未解决,这就是为什么LWG决定在标准库中使用P0604R0的A B2时,将inline涂抹在整个变量模板上。

相关内容

  • 没有找到相关文章

最新更新