我指的不是指向常量值的指针,而是常量指针本身。
我正在学习 C 和 C + + 的基础知识,直到今天我才意识到指针是通过值传递给函数的,这很有意义。 这意味着在函数内部,我可以让复制的指针指向其他值,而不会影响来自调用者的原始指针。
那么,如果函数头部写着:
void foo(int* const ptr);
在这样一个函数中,你不能让 ptr 指向其他的东西,因为它是 const,你不希望它被修改,但是一个像这样的函数:
void foo(int* ptr);
这工作做得一样好!因为指针无论如何都会被复制,而且即使修改了副本,也不会影响调用方中的指针。那么常量的优势是什么呢?