* 네임스페이스
식별자가 정의되는 공간
같은 이름의 식별자를 여러 번 정의하고 구분해서 사용 가능
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 |
댓글