【发布时间】:2013-01-17 15:05:01
【问题描述】:
在一个类的构造函数中,我创建了一个具有所需大小的数组,如下所示:
ArrayClass::ArrayClass(int size)
{
Number* nmbr = new Number[size];
}
和
ArrayClass::ArrayClass()
{
Number* nmbr = new Number[2];
}
我也在标题中将其指定为
Number* nmbr;
虽然创建数组本身有效,但我似乎无法在构造函数之外访问它。似乎每当我离开构造函数时,变量就会从内存中释放出来。如何防止这种情况,以便在调用类中的其他函数时可以使用该变量?
【问题讨论】:
-
您很可能只需要一个班级成员。考虑使用
std::vector<int>作为会员。 -
为什么叫它
ArrayClass?我们不使用std::vector_class。 -
更正:当您离开构造函数时,指向数据的指针会丢失,最终导致内存泄漏。你到底想做什么?
标签: c++ arrays class variables scopes