c++ 类的静态数据成员是内部链接还是外部链接?

qmelpv7a  于 2023-03-05  发布在  其他
关注(0)|答案(2)|浏览(127)

类中的静态数据成员(在C++中)将被认为是内部链接还是外部链接?我搜索了一下,但找不到任何具体的静态成员变量。

uz75evzq

uz75evzq1#

它们有外部链接。请参见http://msdn.microsoft.com/en-us/library/zbh4586z.aspx(谢谢Raymond!)。

z2acfund

z2acfund2#

最近我也对这个问题很感兴趣,我在N4659(C++17的一些草稿)中发现了这个问题:
§ 6.5.5此外,一个成员函数、静态数据成员、类作用域的命名类或枚举,或者在类作用域的typedef声明中定义的未命名类或枚举,使得该类或枚举具有用于链接目的的typedef名称(10.1.3),具有与其所属类的名称相同的链接(如果有的话)。
因此静态数据成员可以有内部或外部链接,这由类本身决定。例如,未命名名称空间中的类的静态数据成员应该有内部链接。

相关问题