![]() |
1
12
正如您所指出的,示例1和示例3确实违反了ODR [basic.def.odr]/12.2.1
是的,具有外部链接的内联变量保证引用相同的实体,即使它们是 使用的odr
总是将头文件中的const和constexpr变量标记为inline有任何缺点吗? 我想不出有什么,因为如果我们信守承诺,通过TU的外部链接拥有完全相同的内联变量定义,编译器可以自由选择其中任何一个来引用变量,这在技术上是相同的,因为只有一个TU,并且在头中声明了一个全局变量,并具有适当的头保护 |
![]() |
Robert E. Brown · 嵌套类的嵌套类的访问权限 7 年前 |
![]() |
YSC · 通过成员指针访问受保护的成员:这是黑客行为吗? 7 年前 |
![]() |
Swift - Friday Pie · 交换数学运算的阶 7 年前 |
![]() |
Acorn · Linux内核的\uu is\u constexpr宏 7 年前 |
![]() |
Acorn · 检测宏中的整数常量表达式 7 年前 |
![]() |
Petr Skocik · 兼容类型并忽略C类型系统中的顶级限定符 7 年前 |