Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 프로그래머가 'new' 사용을 최소화해야 하는 이유는 무엇입니까?


new는 동적 메모리 할당에 사용됩니다. 이 경우 할당된 메모리는 힙으로 이동합니다. 프로그래머가 수동으로 메모리 청소 및 관리를 수행해야 하는 것과 함께 이러한 유형의 메모리 할당과 관련된 몇 가지 비용이 있습니다. 이러한 유형의 할당은 다음과 같은 경우에 사용해야 합니다.

  • 컴파일 시간에 얼마나 많은 메모리가 필요한지 모릅니다.
  • 현재 블록을 떠난 후에도 지속되는 메모리를 할당하려고 합니다.

이 외에 동적 메모리 할당이 필요한 경우는 거의 없습니다. C++에는 소멸자의 개념이 있기 때문입니다. 이 함수는 개체/리소스의 수명이 끝나면 호출됩니다. 이것은 메모리를 해제하는 데 사용할 수 있습니다. 따라서 자체 개체가 있는 개체를 만들 때 주 개체가 범위를 벗어나면 하위 개체의 메모리도 해제됩니다.

이러한 변수를 자동 변수라고 하며 이러한 유형의 메모리 사용 자동 저장소입니다. 타이핑이 빠르고 실행이 빠르고 메모리/리소스 누수가 적기 때문에 사용해야 합니다.