- 主题:shared_ptr 一问
想用 std::shared_ptr 保存指针,但是接口返回的是 boost::shared_ptr。怎样可以把 boost::shared_ptr “转换”成 std::shared_ptr 呢?
搜了一下,StackOverflow 有个类似的问题,但其得分最高的第一个答案完全看不明白:
https://stackoverflow.com/questions/6326757/conversion-from-boostshared-ptr-to-stdshared-ptr
这答案对吗??
--
FROM 203.145.94.*
看着是对的
bind生成的函数复制了boost sharedptr,保证rawptr生命周期不比std sharedptr短,同时自定义的deleter只要destroy boostsharedptr,实质是自减引用计数。
【 在 fanci 的大作中提到: 】
: 想用 std::shared_ptr 保存指针,但是接口返回的是 boost::shared_ptr。怎样可以把 boost::shared_ptr “转换”成 std::shared_ptr 呢?
:
: 搜了一下,StackOverflow 有个类似的问题,但其得分最高的第一个答案完全看不明白:
: ....................
- 来自「最水木 for iPad Air (3rd generation)」
--
FROM 75.31.75.*
怎么看出来 bind 生成的函数 复制了 boost::shared_ptr 而不是只保留了一个引用?
【 在 lambdai () 的大作中提到: 】
: 看着是对的
: bind生成的函数复制了boost sharedptr,保证rawptr生命周期不比std sharedptr短,同时自定义的deleter只要destroy boostsharedptr,实质是自减引用计数。
: 【 在 fanci 的大作中提到: 】
:
--
FROM 203.145.94.*
哦看到了…
The return type of std::bind holds a member object of type std::decay<F>::type constructed from std::forward<F>(f), and one object per each of args..., of type std::decay<Arg_i>::type, similarly constructed from std::forward<Arg_i>(arg_i).
【 在 fanci () 的大作中提到: 】
: 怎么看出来 bind 生成的函数 复制了 boost::shared_ptr 而不是只保留了一个引用?
:
: 【 在 lambdai () 的大作中提到: 】
--
FROM 203.145.94.*
啊,我正想说我想当然了呢,因为答案里面是boost bind而不是std bind
那我们就当这俩bind一回事吧
【 在 fanci 的大作中提到: 】
: 哦看到了…
:
: The return type of std::bind holds a member object of type std::decay<F>::type constructed from std::forward<F>(f), and one object per each of args..., of type std::decay<Arg_i>::type, similarly constructed from std::forward<Arg_i>(arg_i).
: ....................
- 来自「最水木 for iPhone12,8」
--
FROM 172.58.35.*