这是对这个问题的跟进。
如答案的评论中所述:
内联变量具有以下特性 -它在每个翻译单元中具有相同的地址。[...] 通常你通过在 cpp 文件中定义变量来实现这一点,但是使用 inline 说明符你可以在头文件中声明/定义你的变量,并且每个使用这个内联变量的翻译单元都使用完全相同的对象。
此外,从答案本身来看:
虽然该语言不保证(甚至提及)跨共享库边界使用此新功能时会发生什么,但它确实适用于我的机器。
换句话说,当涉及共享库时,不清楚内联变量是否保证跨边界唯一。有人凭经验证明它适用于某些平台,但它不是正确的答案,它可能会破坏其他平台上的一切。
当跨边界使用内联变量时,它的唯一性是否有任何保证,或者它只是一个我不应该依赖的实现细节?