相关疑难解决方法(0)

C++中的内存管理模式

我认为我对普通(功能)设计模式有相当多的经验,例如在四本一书中所描述的,我主要在java和C#中使用.在这些"托管"语言中,这几乎是您完成工作所需要知道的一切.

然而,在C++的世界开发者还拥有所有的对象是如何被分配,传来传去,并删除了控制.我理解这些原则(我在其他文本中读过Stroutrup),但是我仍然需要花费很多精力来决定哪种机制最适合给定的场景 - 这就是一系列与内存相关的设计模式会很有用的地方.

例如,昨天我不得不创建一个类Results,它是几个对象的容器和另一种类型的对象的集合(在本例中为std :: vector).所以有一些我无法回答的设计问题:

  1. 我应该按值还是通过智能指针返回此类?
  2. 在类中,矢量和对象应该是普通成员,还是应该再次存储为智能指针?
  3. 在向量中,我应该直接存储对象,还是再次指向它们的智能指针?
  4. 在我的Results类中定义的getter应该返回什么(即值,引用或智能指针)?

当然,智能指针很酷而且没有,但是它们会产生语法混乱,我不相信对每个对象使用malloc是否是最佳方法.

我将非常感谢上述具体要点的答案,但对于与记忆相关的设计模式的一些更长和更一般的文本更是如此 - 这样我就可以解决周一我将遇到的问题!

c++ design-patterns memory-management

8
推荐指数
1
解决办法
2656
查看次数

标签 统计

c++ ×1

design-patterns ×1

memory-management ×1