即使我们对一些资源使用了RAII类进行管理,但是还是不能避免很多的API需要你去提供原始的资源来对他们进行调用:
例如对于条款13中的例子来说:
1 shardPtr<Investment> pInv(createInvestment); 2 //看看下面这个函数 3 int daysHold(const Investment * pi);//这里我们所需要的就是提供原始的资源
所以说类似shared_ptr这样的RAII类都提供一个get函数,让用户可以自由的取得内部真正的资源(的副本),通过这个get函数上面API的使用可能就变成了下面这样:
... int ans = daysHold(pInv.get());
原文:http://www.cnblogs.com/-wang-cheng/p/4856730.html