最近在重构一个近十年前的项目,快要成了猪头。晕乎乎之际,不得不佩服前辈们的思维,如此混乱不堪的代码,居然能够跑起来,腻害腻害!改着改着,直接崩了,一脸懵逼。搜寻之下,原来是有一个巨大的类,里面有非常多的指针,但是,他又在几十个地方重复的构造和析构。
效率?内存泄漏?那是操作系统的事情,根本不用考虑,复制粘贴一把梭!
吐槽到此结束!
分隔线--------------------------------------------------------------------------------------------------------------------
以上,只是为了说明一点:当你的类中有指针的时候,你要千万小心;当用stl来操作你的类的对象时,更要小心再小心!!!
看以下两个简单的类,一个分数类,一个学生类,学生类里面有一个分数类的指针:
class Score
{
public:
~Score(){ std::cout << "score的析构函数" << std::endl; }
private:
};
class Student
{
public:
Student(const std::string& strName, const std::string& strGrade) :m_strName(strName), m_strGrade(strGrade){ m_pScore = new Score(); }
~Stud