【发布时间】:2010-12-08 20:45:00
【问题描述】:
在 Java 中,我们可以指定一个字符串为final 来声明“常量”。例如
static final String myConst = "Hello";
这样在 c++ 中执行此操作的正确方法是这样吗?
const char * const myConst = "Hello";
我总是看到人们这样做:
const char * myConst = "Hello";
但是,实际上,您可以更改该指针指向的内容。那么,为什么人们不将指针也声明为常量呢?正确的做法是什么?
【问题讨论】:
-
不,您不能更改指针指向的内容。你可以改变指针。
-
仅供参考,在 C++ 中,您应该向后阅读。
const char * myConst读作:“myConst 是一个指向常量字符的指针”。const char * const myConst被读作“myConst 是一个指向常量字符的常量指针”。 -
大多数时候你看到最后一个选项,写声明的人根本不知道。
-
@Alexandre C. 是的,这就是我的意思。我输入的内容有些模棱两可。 “更改指针指向的内容”就像更改指针值,而不是更改字符串。
标签: c++ pointers constants final