我了解Java中的final
或C++中的const
的概念,这些概念用于强制使用常量值,并允许编译器在使用您编写的模块的任何人上强制执行该值。
我看不到想要在哪里放置const
指针的原因,为什么无论数据是否恒定,都不想更改指针:
例如
为什么这个?
char greetings[] = "Hello";
char * const p = greetings; // const pointer, non-const data
const char * const p = greetings; // const pointer and const data
我无法可视化您想保留指针const的地方,可能是文件句柄还是类似的东西?还是只是指向您不想更改的对象的指针?
最佳答案
出于以下几个原因,您可能希望使指针本身恒定不变:
const
的指针的指针,则编译器将捕获此错误。 const
的内容时,他们可以更加积极地进行优化。