练习12.10:
正确;
12.11:
使用智能指针类型的get()函数得到了一个内置指针,指向智能指针管理的对象,直接初始化此内置指针并调用process。由于创建了两个独立的智能指针并且都指向相同的内存,因此process返回之后,指向的内存将被释放,但是原指针p仍然存在。
12.12
a:合法,但是创建了独立的智能指针,指向的内存将被释放;
b:不合法,必须使用直接初始化方式,智能指针的构造函数是explicit的,意味着不能隐式转换;
c:不合法,与b相同;
d:合法,结果与a相同。未命名的内置指针管理p所指向的对象,p必须是new所分配的内存,且能转换为int*类型;
12.13
无法执行代码。
使用get返回的指针的代码不能delete此指针。