c-在构造函数中动态分配新对象
作者:互联网
因此,考虑到这种简单的情况:
class A{
public:
A(){
n = new int(10);
}
~A(){
delete n;
}
int* n;
};
int main(){
A* a = new A();
}
因为在我进行新分配时a指针尚未完成分配,这是否会导致堆损坏(通常是问题)?
如果是这样,也禁止在堆构造函数中使用std :: vector,对吗?
谢谢.
解决方法:
您的指针已分配完毕.
新作品如下(过于简化)
>分配
>构建
所以你的情况
>分配一个
>构造A
>分配int
>构造int-初始化
>完成构造A
这将忽略涉及异常的情况.
标签:heap-corruption,c,heap-memory 来源: https://codeday.me/bug/20191012/1898946.html