gpt4 book ai didi

c++ - 使类变量在其他范围内可用? C++

转载 作者:太空狗 更新时间:2023-10-29 23:46:01 27 4
gpt4 key购买 nike

在类的构造函数中,我创建了一个具有所需大小的数组,如下所示:

ArrayClass::ArrayClass(int size) 
{
Number* nmbr = new Number[size];
}

ArrayClass::ArrayClass()
{
Number* nmbr = new Number[2];
}

我还在标题中指定了它

Number* nmbr;

虽然数组本身的创建有效,但我似乎无法在构造函数之外访问它。似乎每当我离开构造函数时,变量就会从内存中释放出来。我该如何防止这种情况发生,以便在调用类中的其他函数时可以使用该变量?

最佳答案

不要创建新变量。构造函数中的 nmbr 彼此不同, header 中的也不同。

如果你必须使用全局(三思而后行)将其声明为extern,在单个 TU 中定义它,然后使用

 nmbr = new ArrayClass[2];

在你的构造函数中。

不要忘记清理内存或关于三的规则。

关于c++ - 使类变量在其他范围内可用? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14381949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com