문자열을 동적 메모리를 할당하여 초기화 할 때 주의해야할 점이 있다
char str = new char[1];
delete[] str; //new[]를 사용하여 초기화 시킨
//포인터 및 널 포인터와 호환
char words[15] = L"bad idea";
char *p1 = words;
char *p2 = new char;
char *p3;
delete []p1; //결과를 알 수 없다, 사용하지 말자
delete []p2; //결과를 알 수 없다, 사용하지 말자
delete []p3; //결과를 알 수 없다, 사용하지 말자
new []를 사용하여 초기화한 포인터나 널 포인터가 delete []와 호환되기 때문에 주의할 필요가 있다
p1, p2, p3와 같은 경우에는 delete []와 호환되지 않기에 큰 문제가 생길 수 있다
320x100
'Programming Language > C/C++' 카테고리의 다른 글
| [C++] 기억 공간 유형 5가지 요약 (0) | 2017.07.19 |
|---|---|
| [C++] export와 클래스 템플릿, 헤더 파일 나누기 (1) | 2017.07.14 |
| [C/C++] 난수 생성하기, rand(), srand() (0) | 2017.06.02 |
| [C/C++] 한글 출력 오류, 유니코드, MBCS, 국제화 (3) | 2017.06.01 |
| [C++] 연산자 오버로딩과 프렌드 (0) | 2017.06.01 |