본문 바로가기
공학/C++

네임스페이스와 동적 메모리

by 둥둥잇 2014. 12. 1.



* 네임스페이스

식별자가 정의되는 공간

같은 이름의 식별자를 여러 번 정의하고 구분해서 사용 가능


namespace 네임스페이스 이름 {

변수 정의

함수 정의

....

}


사용할 때는

네임스페이스 이름::식별자


or


처음에

using 네임스페이스 이름::식별자;

or

using namespace 네임스페이스 이름;




* 드디어 동적 메모리 관리 파트라닝!!!

new와 delete 연산자 제공


- 동적 메모리 : 프로그램 실행 중 메모리의 할당과 해제가 결정되는 메모리


- 동적 메모리의 사용 장점

1_ 실행 중 꼭 필요한 만큼 메모리를 할당 받아 사용하므로 메모리 낭비가 일어나지 않으며,

   미리 정해진 크기가 아니라 원하는 크기만큼 할당받는 것도 가능

2_메모리의 할당과 해제 시점을 전적으로 프로그래머가 제어하기 위해서




+ C에서 동적 메모리를 사용하기 위해 쓰던 malloc은

데이터형 정보가 들어있지 않음

그래서 맨날 앞에 (int*) 식으로 명시적으로 형변환을 해야함


C의 동적 메모리는 힙에 할당

C++는 자유 기억장소에 할당

C++의 자유 기억장소에 힙 영역을 함께 사용할 수도 있고

C++의 자유 기억장소를 위해 별도의 메모리 영역을 사용할 수도 있다



동적 메모리 할당

int* p = NULL;

p = new int;



동적 메모리 해제

delete p;

p = NULL;


p는 지역변수 이므로 p가 정의된 블록을 빠져나갈 때 해제되는 것이므로

동적 메모리를 해제한 다음 동적 메모리 주소를 저장하는 포인터 변수는 NULL로 지정하는 것이 안전





출처 : C++ Programming with a WorkBook (이한출판사)




'공부 > C++' 카테고리의 다른 글

클래스와 구조체  (0) 2014.12.01
접근제어  (0) 2014.12.01
객체지향 프로그래밍ㅇㅇㅇㅇㅇㅇㅇ  (0) 2014.12.01
C++의 개선된 함수 기능  (0) 2014.12.01
C++의 특징  (0) 2014.12.01

댓글