我有这个函数签名:
void myFunction(int *const ptr);
在这个特定的上下文中,const
关键字的意义是什么?
即使ptr
不是const
变量,我也无法修改它指向的地址,因为它是按值传递的,所以如果我有另一个这样的函数:
void myAnotherFunction(int *ptr);
在它的实现内部做了这样的事情:
//...
ptr = malloc(1023);
//...
这不会影响传递的值(当然,在这个函数之外)。
所以问题是:使用myFunction()
签名而不是签名myAnotherFunction()
有什么意义?(除了你得到一个编译时错误)。