存期也比较大。
全局对象是被定义在某个文件中,而它的作用域却在包含该文件的整个程序中,它的作用域是最大的,
它的生存期也是长的。
对象指针和对象引用
指向类的成员的指针:
指向数据成员的指针格式如下:<类型说明符><类名>::*<指针名>
指向成员函数的指针格式如下:<类型说明符>(<类名>::*<指针名>)(<参数表>)
由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定 A 类的一个对象,然
后,通过对象来引用指针所指向的成员。A a; a.*pc = 8;其中,运算符.*是用来对指向类成员
的指针来操作该类的对象的。如果使用指向对象的指针来对指向类成员的指针进行操作时,使用
运算符->*。A *p = &a; //a 是类 A 的一个对象,p 是指向对象 a 的指针。p ->* pc = 8;
再看看指向一般函数的指针的定义格式:<类型说明符>*<指向函数指针名>(<参数表>)
关于给指向函数的指针赋值的格式如下:<指向函数的指针名>=<函数名>
关于在程序中,使用指向函数的指针调用函数的格式如下:(*<指向函数的指针名>)(<实参表>)
如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。
对象指针和对象引用作函数的参数
1. 对象指针作函数的参数
使用对象指针作为函数参数要经使用对象作函数参数更普遍一些。因为使用对象指针作函数参
数有如下两点好处:
(1) 实现传址调用。可在被调用函数中改变调用函数的参数对象的值,实现函数之间的信息传
递。
(2) 使用对象指针实参仅将对象的地址值传给形参,而不进行副本的拷贝,这样可以提高运行效
率,减少时空开销。
当形参是指向对象指针时,调用函数的对应实参应该是某个对象的地址值,一般使用&后加对象
名。
2. 对象引用作函数参数
在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引
用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。
所以,在 C++编程中,人们喜欢用对象引用作函数参数。
this 指针
this 指针是一个隐含于每一个成员函数中的特殊指针。它是一个指向正在被该成员函数操作
的对象,也就是要操作该成员函数的对象。当对一个对象调用成员函数时,编译程序先将对象的地
址赋给 this 指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含作用 this 指针。