作为一名新手C++程序员,有一些结构对我来说仍然非常晦涩难懂,其中之一就是const
。你可以在如此多的地方使用它,具有如此多不同的效果,对于初学者来说,几乎不可能活着出来。一些C++专家是否会永远一次解释各种用途,以及是否和/或为什么不使用它们?
发布于 2009-01-22 06:25:04
请注意理解这4个声明之间的区别:
以下两个声明在语义上是相同的。您可以更改ccp1和ccp2所指向的位置,但不能更改它们所指向的对象。
const char* ccp1;
char const* ccp2;
下一步,指针是const,所以为了有意义,它必须被初始化为指向某个东西。你不能让它指向其他东西,但是它指向的东西是可以改变的。
char* const cpc = &something_possibly_not_const;
最后,我们将两者结合起来--这样被指向的东西就不能被修改,指针也不能指向其他任何地方。
const char* const ccpc = &const_obj;
顺时针螺旋规则可以帮助理清声明http://c-faq.com/decl/spiral.anderson.html
https://stackoverflow.com/questions/455518
复制相似问题