区别一
C语言的const是定义了一个const变量,是一个只读变量,他的本质还是一个变量。
C++的const是定义一个常量。
int main()
{
const int a = 10;
int arry[a];//c++中,因为a已经是常量,但是在c中任然是变量,所以会保错。
}
在看看下面的代码
C语言
#include<stdio.h>
int main()
{
const int a = 10;
int *p = NULL;
printf("修改前:%d\n",a);
p = (int *)&a;
*p = 20;
printf("修改后:%d\n",a);
return 0;
}
编译后的结果
修改前: 10
修改后:20
由此可见在c语言当做const修饰的是一个变量,可以通过地址改变这个变量的值
在看看c++里面的代码
** c++**
#include<iostream>
using namespace std;
int main()
{
const int a = 10;
int *p = NULL;
cout<<"修改前:"<<a<<endl;
p = (int *)&a;
*p = 20;
cout<<"修改后:"<<a<<endl;
return 0;
}
编译后的结果
修改前:10
修改后:10
由此可见,在c++中用const修饰的变量他的本质是一个常量,不能通过其他途径对其的值进行改变