9.6.2  类autoptr的成员及转换

9.6.2autoptr的成员及转换

1.成员

图示

要求get()!=0,返回值为函数get()返回的指针。

图示

返回值为函数get()返回的指针。

图示

函数返回this指针。

图示

返回值为get()函数的返回值,之后∗this指针即变成空指针。

图示(https://www.daowen.com)

功能:如果get()函数的返回值不等于指针p,那么需要删除get()函数的返回值,相应的等效代码为:

图示

函数执行之后,指针∗this保存了指针p。

2.转换

图示

函数的执行效果:调用p.release(),其中p是r内保存的指针。

图示

函数返回值是类型为auto_ptr_ref变量,变量的值为∗this。

图示

函数的作用是调用release()函数。函数返回值是一个auto_ptr<Y>,其中包含release()函数返回的指针。

图示

函数的作用是调用reset(p.release()),p为r中包含的引用。函数返回值为指针this。