【发布时间】:2010-11-23 10:17:30
【问题描述】:
我有一段性能关键代码。类和对象相当大,因此,它将作为指针存储在 STL 容器中。当指向对象的指针需要基于某些逻辑存储在多个不同的容器中时,就会出现问题。处理对象的所有权非常混乱,因为我无法将对象的所有权隔离到单个容器(我可以从单个容器中删除)。除了使用智能指针(因为它对性能至关重要,智能指针可能会影响性能),我还能做什么?
谢谢。
【问题讨论】:
-
试试智能指针。配置文件以检查它是否确实有太大的影响。很有可能,它不会太多,而且可能比大多数自己动手的解决方案要少。
-
不幸的是,您无能为力。您需要定义责任,即谁负责拥有您的资源。在我看来,这是 C++ 的一个基本问题,并且可能是人们转向其他语言的最大原因之一。
-
您是分析智能指针还是只是您的猜测?