加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 将boost :: shared_array转换为boost :: shared_array

发布时间:2020-12-16 04:59:36 所属栏目:百科 来源:网络整理
导读:如何施放boost :: shared_array char to boost :: shared_array const char? 解决方法 由于shared_array没有add_ref方法,您可以按如下方式模拟它: struct MagicDeleter { MagicDeleter( boost::shared_arraychar ptr ) : ptr(ptr) {}; templatetypename T
如何施放boost :: shared_array< char> to boost :: shared_array< const char>?

解决方法

由于shared_array没有add_ref方法,您可以按如下方式模拟它:
struct MagicDeleter {
  MagicDeleter( boost::shared_array<char> ptr ) : ptr(ptr) {};
  template<typename T> void operator()(T*) {} 
protected:
  boost::shared_array<char> ptr;
};

...

boost::shared_array<char> orig_ptr( some_val );
boost::shared_array<const char> new_ptr( orig_ptr.get(),MagicDeleter(orig_ptr) );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读