【发布时间】:2010-02-19 12:12:26
【问题描述】:
class temp;
temp *t;
void foo() { temp foo2; t[1] = foo2; }
int main() {
t = new temp[100];
foo();
//t[1] is still in memory?
}
-
如果我想要一个这样的类数组,我将不得不使用
指向指针的指针?(并使用'new'
在数组中的每个元素上)例如:
temp **t; - 如果我想做一个
100 ptr 到 ptr 的数组我必须做
temp **t = new temp[100][1];是 没有更好的方法可以做到这一点 4 个方括号?
【问题讨论】:
-
分配对象数量的经验法则是:本地存储中的少量,动态内存中的大量。外部内存中的大量数据(磁盘驱动器、内存映射、特定于操作系统)。如果您不想为管理对象删除而头疼,请使用 智能指针(搜索 Boost Smart_Ptr)。