- 主题:有了raii,cpp现在内存管理不是什么问题了吧
--
FROM 223.160.128.*
一样有问题,一个对象可能被几个对象引用,最后引起循环引用。还有大家都容易忽略的,如果你在多线程环境里面使用智能指针,需要注意析构函数是在哪个线程里面运行。话说 rust 能够解决后一个问题吗,总是指定构造对象的线程运行析构函数。
【 在 stub 的大作中提到: 】
--
修改:hgoldfish FROM 124.72.109.*
FROM 124.72.109.*
还是不能为所欲为的
--
FROM 27.186.196.*
乐观派啊
C++各个角落里遍布陷阱。例如boost举的这个exception-not-safe的例子,就是std:: make_shared的由来:
https://www.boost.org/doc/libs/1_81_0/libs/smart_ptr/doc/html/smart_ptr.html#shared_ptr
void bad()
{
f( shared_ptr<int>( new int(2) ), g() );
}
Rust也不解决带计数的智能指针的循环引用,还是得靠码农自己手动分析引用关系后,用weak ptr拆开循环引用。
Rust也不解决析构的依赖 + 线程关系,比C++多了一个channel的通信机制,C++按说也有这种轮子,但不在std里。
chrome 10年前有一个关于相互可能依赖的对象在哪个线程中析构的讨论,有点意思
https://groups.google.com/a/chromium.org/g/chromium-dev/c/3yttL7dnxSw
--
修改:z16166 FROM 114.240.244.*
FROM 114.240.244.*
我司的交易服务器,
每周六晚必须重启一次,
有内存泄漏并不影响什么
毕竟机器上有几百G内存
现在毕竟不是远古时期,内存紧巴巴的
【 在 stub 的大作中提到: 】
--
FROM 172.58.232.*
显然不能,比如构造对象的线程已经不存在了
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 一样有问题,一个对象可能被几个对象引用,最后引起循环引用。还有大家都容易忽略的,如果你在多线程环境里面使用智能指针,需要注意析构函数是在哪个线程里面运行。话说 rust 能够解决后一个问题吗,总是指定构造对象的线程运行析构函数。
:
: 【 在 stub 的大作中提到: 】
:
--
FROM 183.179.53.*
我说怎么股票交易app周末都不让上
【 在 mvtec 的大作中提到: 】
: 我司的交易服务器,
: 每周六晚必须重启一次,
: 有内存泄漏并不影响什么
: ...................
--
FROM 114.249.184.*