我认为我对普通(功能)设计模式有相当多的经验,例如在四本一书中所描述的,我主要在java和C#中使用.在这些"托管"语言中,这几乎是您完成工作所需要知道的一切.
然而,在C++的世界开发者还拥有所有的对象是如何被分配,传来传去,并删除了控制.我理解这些原则(我在其他文本中读过Stroutrup),但是我仍然需要花费很多精力来决定哪种机制最适合给定的场景 - 这就是一系列与内存相关的设计模式会很有用的地方.
例如,昨天我不得不创建一个类Results,它是几个对象的容器和另一种类型的对象的集合(在本例中为std :: vector).所以有一些我无法回答的设计问题:
当然,智能指针很酷而且没有,但是它们会产生语法混乱,我不相信对每个对象使用malloc是否是最佳方法.
我将非常感谢上述具体要点的答案,但对于与记忆相关的设计模式的一些更长和更一般的文本更是如此 - 这样我就可以解决周一我将遇到的问题!