说明符问题
记得书上说,在同一个声明中不能使用多个说明符(thread_local除外)。C++ 里,如果在全局变量声明里加入 const 限定符,默认情况下链接性为内部,
所以,const = static const (也就是说,static 可加可不加)
但是,const 运算符前面可以加上另一个说明符,如 extern ,
extern const int c = 0;那么,根据 const = static const,
extern const = extern static const;
但是这不行,
虽然这没有意义,但为什么不可以使用 extern static 呢?
livcui 发表于 2020-7-29 19:42
static 确实只能链接内部,但直接加 const 链接性也为内部,如果显式显示出来应该是 static const
并且...
const 默认是 static,但不一定是 static。
如果声明了extern,那么他就是 extern 的。
注意一下默认和相等的区别。 别沉{:10_245:} static 连接内部,extern 链接外部,所以到底是内部还是外部?
所以不能一起用。 永恒的蓝色梦想 发表于 2020-7-29 18:54
static 连接内部,extern 链接外部,所以到底是内部还是外部?
所以不能一起用。
static 确实只能链接内部,但直接加 const 链接性也为内部,如果显式显示出来应该是 static const
并且 extern const 是可行的,所以我想等于 extern static const
页:
[1]