컴퓨터 언어 정리/C++ 언어
08 Malloc과 free의 대체 – new와 delete
photoner
2020. 9. 10. 22:55
728x90
반응형
Malloc과 free의 대체 – new와 delete
-
C언어에서의 동적 할당
C언어에서 동적 할당의 단점은 할당 크기를 바이트 단위로 직접 명시해주어야 하고, 반환되는 void *에 대해서 적절한 타입 변환이 이루어지고 대입이 이루어져야 한다.
C++에서의 new와 delete 연산자를 사용하면 위의 단점을 모두 커버할 수 있다.
-
C++에서의 동적 할당
다음과 같은 형식으로 동적 할당을 행한다.
그리고 다음은 C 스타일의 동적 할당과 C++ 스타일의 동적 할당을 비교한 것인데 완전히 같은 내용이다.
-
C++의 클래스의 객체 생성 시 new & delete
객체 생성을 할 때에는 꼭 new 연산자를 이용하여 동적 할당하고, delete 연산자를 이용하여 할당을 해체해야 한다. -> C의 malloc & free 함수로 동적 할당 및 해체를 진행할 경우 생성자 / 소멸자의 호출이 이루어지지 않음.
-
참조자를 통한 힙 영역 참조
참조자를 이용하여 포인터 연산 없이 접근해볼 수 있다.
728x90
반응형