Kra*_*ffs 2 c++ arrays variables class scopes
在我的类的构造函数中,我创建了一个具有所需大小的数组,如下所示:
ArrayClass::ArrayClass(int size)
{
Number* nmbr = new Number[size];
}
Run Code Online (Sandbox Code Playgroud)
和
ArrayClass::ArrayClass()
{
Number* nmbr = new Number[2];
}
Run Code Online (Sandbox Code Playgroud)
我也在标题中指定了它
Number* nmbr;
Run Code Online (Sandbox Code Playgroud)
虽然数组本身的创建工作,我似乎无法在构造函数之外访问它.似乎每当我离开构造函数时,变量都会从内存中释放出来.如何防止这种情况,以便在调用类中的其他函数时可以使用变量?
不要创建新变量.在nmbr您的构造彼此和一个在标题不同.
如果你必须使用全局(想想这样做三次)声明它extern,在一个TU中定义它,并且只是使用
nmbr = new ArrayClass[2];
Run Code Online (Sandbox Code Playgroud)
在你的构造函数中.
不要忘记清理记忆或三个规则.