gpt4 book ai didi

c++ - 在成员函数中的析构函数之后调用构造函数

转载 作者:行者123 更新时间:2023-11-28 06:15:27 40 4
gpt4 key购买 nike

<分区>

看看下面的 Reset 函数。我知道为 this 调用构造函数和析构函数可能很危险,但我真的找不到像下面这样使用时有什么问题。我在这里问这个是因为我找不到任何与谷歌相关的 Material 。我所能找到的就是不要在另一个构造函数中调用构造函数,我显然同意这一点。但是在成员函数中的析构函数之后立即调用构造函数不是安全的吗?

template<typename T>
class Array{
private:
T* m_p;

Array(const Array&);
Array& operator=(const Array&);

public:
Array(){
m_p=0;
}

Array(int length):
m_p(new T[length]){}

~Array(){
delete[] m_p;
}

void Reset(int length){
this->~Array();
new(this) Array(length);
}
};

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