这个就靠API设计了。
一般大多数函数调用是阻塞式的,所以基本不用担心这个问题。
异步调用代码就是得非常小心。
如果你真的有完全各行其事的“野线程”,那说不得只能用shared_ptr了。
然后从设计上讲,野线程就算不考虑对象的有效性问题,单纯让不同线程的逻辑互相配合不出错已经是非常难的事了。
武断的讲,99%的情况下这种都是不良设计。
比较好的异步程序设计是类似轻量级coroutine/fiber的方式。
【 在 popeye315 (MATLAB) 的大作中提到: 】
: 标 题: Re: 到底怎么传unique_ptr有定论了吗
: 发信站: 水木社区 (Sat Feb 29 15:31:21 2020), 站内
:
: 你说的有点道理。不过对于所有权不转移的情况,如果传裸指针出去,使用指针的人很难保证指针的有效性,不知道指针指向的资源什么时候会被释放,使用的时候就可能带来风险。
:
: 【 在 here080 的大作中提到: 】
: :
: : 传裸指针不可以时才用shared_ptr
: : 大多数情况下其实不需要用shared_ptr
: :
: : 核心就是需要区分“所有权”。
:
: #发自zSMTH@PAR-AL00
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 116.231.242.*]
--
FROM 76.126.252.*