在函数体加上前面加上const则不能修改变量的值。否则则会报错。这样有利于程序员只读不改。。
例如:
aaa(
int b)
const{a=b} 出错。。。
指针说明:
前面加*会访问指向的变量或对象的值。。。
不加*即是指针指向对象的地址值。。。。。
指针前面加&则会返回指针的地址值。。。
注意:指针不能访问对象的私有成员。。。
不使用指针定义一个对象的时候,程序执行完会产生析构函数。使用指针追终是不执行析构函数的,只有删除才执行。
删除某个指针后,一定要将指针设为空,否则你再次使用前一指针的时候,会导致下一个定义的指针不正常。例
int *a=
new
int;
delete a;
a= 0; // 如果再次使用a指针的话,少了这句很麻烦。。。看下面
long *a1= new long
delete a;
a= 0; // 如果再次使用a指针的话,少了这句很麻烦。。。看下面
long *a1= new long
如:
创建一个指针指向一个对象的时候,会导致该对象的构造函数执行。。。
删除一个指向对象的指针也会导致该对象的析构函数执行。。
int *a=
new
int;
delete a;
delete a;
用指针访问对象成员变量或函数格式:
(*指针名).变量名
(*指针名).函数体
指针名->变量名
指针名->函数体
this指针保存对象本身的地址。
常量指针:不能改变自身的值。但是它指向的目标可以改变的
int b=
3;
int * const a =&b; // 注意常量指针必须初始化
int * const a =&b; // 注意常量指针必须初始化
指向常量的指针:可以修改自身的值,但不能修改指向的目标的值.
const b *a =
new b;