문자열을 동적 메모리를 할당하여 초기화 할 때 주의해야할 점이 있다
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 |