2
在下面的代码中,第一个和第二个const
是什么意思?C语句常量含义
我想第一个或第二个手段foo
是恒定的;另一个意思是foo
的元素也是常量。这是真的吗?
static const char * const foo[] = {"bar", "baz"};
在下面的代码中,第一个和第二个const
是什么意思?C语句常量含义
我想第一个或第二个手段foo
是恒定的;另一个意思是foo
的元素也是常量。这是真的吗?
static const char * const foo[] = {"bar", "baz"};
这意味着它的常量指针(所以不能改变指针)为const字符(这样不能更改经由字符数组指针)。这是在应用程序中定义固定字符串(如命令名称)的常用方法。
参见cdecl:
declare foo as array of const pointer to const char
【必读】(http://www.parashift.com/c++-faq-lite/const-correctness.html)。 – 2011-05-27 10:43:32
我也试过了:const static const const char * const foo [] = {“bar”,“baz”};并编译没有问题与海湾合作委员会。我认为编译器会忽略额外的const。 – 2011-05-27 10:44:14
有趣的,你可以添加尽可能多的,你想
gcc给出也没有错误既不警告即使用-Wall -Wextra – 2011-05-27 10:52:31