gpt4 book ai didi

c++11 - 如果智能指针指向的对象自杀会发生什么?

转载 作者:行者123 更新时间:2023-12-01 08:28:01 25 4
gpt4 key购买 nike

我有定义自己“存在权”的对象。因此他们有自杀的可能。持有它的智能指针会发生什么?它会悬空还是指针识别出对象自己销毁并因此自动指向NULL?

从对象外部我会使用 ptr.reset()。但是我可以从对象内部做什么?

最佳答案

会发生可怕的、可怕的事情。智能指针将不知道刚刚发生了什么,并盲目地尝试立即销毁对象。这基本上意味着你搞砸了。拥有自己的对象通常是非常值得怀疑的,但如果你确实拥有自己,那么你绝不能被外部拥有。这直接包括智能指针。

正确的所有权语义意味着您必须拥有一个且只有一个明确的所有者。在例如的情况下也是如此。 shared_ptr,其中对象实际上由引用计数拥有。

自有对象必须清楚它拥有自己而不是外部拥有的事实。

关于c++11 - 如果智能指针指向的对象自杀会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28933287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com