반응형
void add_term(int coef, int expo) {
auto it = terms.begin();
while (it != terms.end() && (*it)->expo > expo)
it++;
if (it != terms.end() && (*it)->expo == expo) {
(*it)->coef += coef;
if ((*it)->coef == 0) {
terms.erase(it);
}
else {
terms.insert(it, new Term(coef, expo));
}
}
}
이 경우에 erase 되지만 이것은 garbage가 됩니다. 삭제를 해주기 위해선 delete를 해주면 되는데요. 이 객체의 주소를 표현해야 하기 때문에
delete *it;
이렇게 해주면 garbage가 생성되지 않고 삭제되는 것을 알 수 있습니다.
반응형
'IT 프로그래밍 > 객체지향프로그래밍' 카테고리의 다른 글
복사생성자 (0) | 2024.06.17 |
---|---|
객체의 복사와 삭제 (0) | 2024.06.17 |
동적 생성 개체의 삭제와 쓰레기 (0) | 2024.06.16 |
동적 객체 생성 new 연산자 (0) | 2024.06.16 |
[C++]연산자 오버로딩 (0) | 2024.06.15 |