说起来惭愧,学了这么久才发现我的C语言基础里const居然还有漏洞
不过实际上也没有什么可说的,对于C和C++来说const有一点区别,在C中用const修饰的还是变量,而在C++中用const修饰的量算是一个常量。
可以用下面的代码跑跑试一试
#include <iostream>
using namespace std;
int main()
{
int num = 3;
const int* A = #
*A = 5;
cout << num << (*A);
}
程序会报错。
对于非指针来说const的位置在关键词之前还是之后没区别类似
const int a;
int const a;
都无法修改a的值。
对于指针来说有一点区别,关键是看const在/*之前还是*之后,在*之前说明const修饰的是指针指向的内存变量无法改变,在*之后说明修饰的就是指针变量本身的值,也就是说指向的内存无法改变。