你好,
我在我的类Ordinateur中有一个* Composant的向量:
class Ordinateur {
string type;
vector<Composant*> Composants;
...
}
我可以帮忙翻译。这段文字是关于编程的,询问如何编写析构函数,因为在StackOverflow上看到了很多相互矛盾的答案,所以有些困惑。
第一个版本:
virtual ~Ordinateur()
{
for (int i = 0; i < Composants.size(); i++)
{
delete Composants[i];
}
Composants.clear();
}
第二个版本
virtual ~Ordinateur()
{
Composants.clear();
}
关于什么?
virtual ~Ordinateur()
{
for (int i = 0; i < Composants.size(); i++)
{
delete Composants[i];
}
}
我想避免内存泄漏...
clear()
在这两种情况下都是无用的。显然,vector
会自己处理! - Jonathan Wakely