【发布时间】:2015-02-03 01:06:39
【问题描述】:
C++ 智能指针:如果在一个类中,我定义了一个指向智能指针的指针,这是否消除了智能指针的优点? (注意,我没有说我要应用这种用法)
喜欢:
class TestClass
{
public SmartPt* ptr1;
}
这里的SmartPt是智能指针类。
因为如果我管理不好指针,指向的智能指针也不会被管理。
那么这是否意味着使用指向智能指针的指针不是一个好习惯? 所以最好直接使用智能指针,比如:
public SmartPt object1;
[更新 1] 为了不分散读者的注意力,我之前使用的是 MySmartPt,这里我将其替换为 SmartPt。
【问题讨论】:
-
你能贴出如何“定义指向智能指针的指针”的代码吗?
-
在某些极端情况下,您可能需要此类指向智能指针的指针,但我很难考虑实际的应用程序。您能否向我们展示一些您认为使用此类指针有用的代码?
-
@5gon12eder,不,我不是特别想使用它。我只是看到代码,我想我可以修改它。
-
我不明白你为什么需要创建一个新的智能指针类。
-
@Eric。好的,这是一个包装好的。离题。在此示例中,我们只能使用常规智能指针作为示例。我只是想确认我们不需要使用指向智能指针的指针。
标签: c++ smart-pointers pointer-to-pointer