【发布时间】:2011-09-03 07:27:19
【问题描述】:
在下面的代码中,第一个和第二个const是什么意思?
我猜第一个或第二个意味着foo 是不变的;另一种意味着foo 的元素也是常量。是真的吗?
static const char * const foo[] = {"bar", "baz"};
【问题讨论】:
-
我也试过了: const static const const char * const foo[] = {"bar", "baz"};并且用 gcc 编译没有问题。我认为编译器会忽略额外的 const。
-
有趣的是,您可以根据需要添加任意数量
static const const const char * const const foo[] = {"bar", "baz"};gcc 即使使用 -Wall -Wextra 也不给出错误警告