Ale*_*der 3 c++ heap stack memory-management object
我有一个对象(A),它有一个由对象(B)组成的列表.列表(B)中的对象是指针,但列表本身应该是指针吗?我正在从Java迁移到C++,但仍然没有完全习惯堆栈/堆.该列表不会在类A之外传递,只传递列表中的元素.为了以防万一,将列表本身分配在堆上是一种好习惯吗?
此外,包含列表(A)的类是否也应该在堆本身上?像列表一样,它不会被传递.
请记住这一点
对C/C++中的显式内存管理不熟悉的IMO人员可能倾向于过度思考这些事情.
除非你正在写一些你知道会有数千个大小对象的东西,否则只需将列表放在堆栈上即可.除非你在一个函数中使用巨型C风格的数组,否则由于上面的#1和#2,列表使用的内存最终会在堆中结束.
| 归档时间: |
|
| 查看次数: |
3577 次 |
| 最近记录: |