![]() |
1
4
可能还有其他设计不需要您使用指针,但是如果您需要或想要这样做,这可能会引起您的兴趣。 如果返回一个指针是一个问题(因为需要“清理”东西),您肯定应该考虑使用智能指针作为返回类型。 以下是使用智能指针的工厂方法的示例:
这样,你就不用打电话了
如果之后需要转换结果指针,
|
![]() |
2
7
您可以包装:
这类似于策略模式:实际操作数行为是隐藏的,可以通过非虚拟接口访问。用户获取
|
![]() |
3
0
我知道这个问题前一段时间有人问过,但最近我自己也遇到了这个问题,我想出了一个不同的解决方案,我认为在这里可以有所帮助。
每个派生类现在都必须实现它自己的克隆方法,您就可以开始了! 为了以防万一,这里有一篇很好的帖子解释了派生类型的克隆是如何工作的: Copying derived entities using only base class pointers, (without exhaustive testing!) - C++ 希望这能帮到别人! |
![]() |
AstralHex · 矩阵乘法代码工作不正常 7 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 7 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 7 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 7 月前 |