标签:
试图调用private的copy或赋值函数是编译期错误,而调用没有具体定义的函数则是连接期错误。
以对象管理资源;智能指针RAII(资源获取立即初始化)后都是对象,但有时候,比如(API的)函数参数要求的是原始资源的指针,这时候有两种方法:
1、显式转换:智能指针提供了get成员函数可以直接获取原始资源:
std::tr1::shared_ptr<Investment> pInv(createInvestment());
int daysHeld(const Investment* pi);
int days=daysHeld(pInv.get());
2、隐式转换:智能指针重载了指针取值操作符(->和*);或者提供一个隐式转换函数。
标签:
原文地址:http://www.cnblogs.com/ph829/p/5280580.html