use*_*460 2 c++ exception class unique-ptr
我有一个存储有对象的容器unique_ptr,为简单起见,我只有一个对象:
class Container { std::unique_ptr<A> ptrA; }
Run Code Online (Sandbox Code Playgroud)
我也有使用该对象的类。这些类在构造这些对象时使用原始指针:
class B { A* a;
B(*A param) : a(param) }
Run Code Online (Sandbox Code Playgroud)
它们是通过以下方式创建的: B b = B(Container.ptrA.get() );
该Container类应该比class B。但是,我希望在我的类Container中出现问题或错误并且unique_ptr超出范围并被删除时,我的整个程序不会崩溃。
我的问题是有关管理1%情况的设计,以便我的程序可以尝试重新加载数据并避免突然崩溃,您是否会使用异常?如果是这样,您将在哪里尝试/抓住?
谢谢 !
使用时,std::unique_ptr您要做出设计决策:Container拥有指针。尝试解决这个问题只会使您的生活更加艰难。
但是实际上你说的话Container很有意义B。您为什么不只是强制执行此操作,而不是过分防御可能会以其他几种方式破坏程序的错误?
| 归档时间: |
|
| 查看次数: |
503 次 |
| 最近记录: |