C++中常量const不占用内存空间.
const 存在就近原则
const int *p; const在这里靠近*,p中内容不能改。
int * const p; const 在这里靠近p,所以p所指位置不能变化。
const int * const p;无论是所指内容还是位置都不能被改变。
/*#include<iostream>
using namespace std;
int main ()
{
const int a=1; //a 为常量,存在于符号表里面,不占用内存空间。
int *p=(int *)&a; //a取地址,会将1存储在四个字节的空间内。
*p=3;
cout<<*p<<" "<<a<<endl; //a 是常量,用1 来替换。
return 0;
}*/
//const 和 define 的区别 ,作用域不同。const 局部。define的作用范围从定义处往下。
#include<iostream>
using namespace std;
void print()
{
const int a=1;
#define b 1
cout << a << " " << b <<endl;
}
int main()
{
print();
//cout << a << endl;
cout << b << endl;
return 0;
}