Ste*_*Bay 4 c++ syntax pointers auto-ptr copy-constructor
我一直在寻找答案,但仍然无法弄清楚。
抱歉,我的工作太复杂,无法在此处复制示例代码。
我有一个函数,它获取一个指针作为参数;我使用它,但后来,我需要一种回调,我想在其中使用我的旧指向对象。
问题是,当调用此回调时,指针已被删除或释放。我的想法是在堆上创建指向对象的副本,并在回调完成时释放它。但我在指针、复制构造函数和其他东西之间迷失了方向。解决方案可能很简单,但我被困住了。
如果你有一个T * p,那么你可以像这样创建一个新对象:
T x(*p);
Run Code Online (Sandbox Code Playgroud)
或者,如果你必须(但说真的,不要!),动态分配的对象:
T * q = new T(*p);
Run Code Online (Sandbox Code Playgroud)
不要使用第二种形式。你所带来的头痛是无穷无尽的。
| 归档时间: |
|
| 查看次数: |
12048 次 |
| 最近记录: |