非动态生成对象使用shared_ptr

来源:互联网 发布:java jlabel 编辑:程序博客网 时间:2024/06/06 13:23
class NoDeleter
{
public:
  void operator() (const void *) {}
};
/// Helper function to construct shared pointer with NoDeleter with cleaner syntax
template <typename T>
std::shared_ptr<T> noDeletePtr(T& r)
{
  return std::shared_ptr<T>(&r, NoDeleter());

}


用法:

X x;

shared_ptr<X> p = noDeletePtr(x);


0 0
原创粉丝点击