相关疑难解决方法(0)

内联变量是否跨越边界是唯一的?

这是对这个问题的跟进.
如答案评论中所述:

内联变量具有以下属性: - 在每个转换单元中具有相同的地址.[...]通常您通过在cpp文件中定义变量来实现这一点,但是使用内联说明符,您只需在头文件中声明/定义变量,并且使用此内联变量的每个转换单元都使用完全相同的对象.

而且,从答案本身来说:

虽然该语言不保证(甚至提及)在跨共享库边界使用此新功能时会发生什么,但它确实可以在我的计算机上运行.

换句话说,当涉及共享库时,不清楚内联变量是否保证跨边界是唯一的.有人在经验证明它可以在某些平台上运行,但它不是一个正确的答案,它可能只是破坏其他平台上的一切.

内联变量在跨越边界使用时是否有任何保证,或者它只是一个我不应该依赖的实现细节?

c++ shared-libraries language-lawyer c++17 inline-variable

19
推荐指数
2
解决办法
724
查看次数

C++中的内联函数

如果我们在类定义本身中定义一个成员函数,它是否必须内联处理,或者它只是对编译器的一个请求,它可以忽略.

c++ inline-functions

18
推荐指数
2
解决办法
976
查看次数