IT 프로그래밍/객체지향프로그래밍

다항식 계산기 (code12. cpp 수정

기술1 2024. 6. 16. 15:52
반응형
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