各位大佬,Android 官方 code 中有这种用法:匿名命名空间的 static const 变量
namespace {
static const char* const kHello = "Hello";
static const std::string kWorld = "World";
}
但是我看 cpp primer 5th 书上说匿名命名空间中定义的变量拥有静态生命周期,那 android code 中的 static 有何意义呢?而且 cpp primer 也推荐用匿名命名空间取代文件中的静态声明,不是很理解 android 的这个用法,有没有哪位能解惑下?
1
xbigfat 2019-09-24 09:23:03 +08:00
我怎么没看懂这是什么语言... 我猜测不是 java 也不是 kotlin
|
3
arrow8899 2019-09-24 09:29:24 +08:00
static is redundant, because anonymous namespace limits the visibility of definitions to a single translation unit
|
5
spark104 OP @arrow8899 好像真是多余的,估计是这个写代码的比较 low,只有一个文件夹下的几个 cpp 文件这样写,其他地方的匿名命名空间里面都没有 static 关键字了。感谢~
|
6
icris 2019-09-24 09:52:54 +08:00
Java 接口里不也都写 public static final String,三个关键字都是多余的。坏处没有,好处是确实只看一行就能知道 public static final
|