동적 할당하고 해제를 제대로 안해주면, 메모리가 누수가 된다고 하는데..
메모리 누수가 됬을때 발생하는 문제점은 뭐가 있나요?
그리고, 메모리 누수가 됬더라도, 프로그램을 종료하고 컴퓨터를 다시 키면
메모리가 리셋되는건가요? 아니면 그만큼의 메모리가 망가져버리기라도 하는건가요?
그리고 클래스 내에 정적으로 할당된 변수는 따로 메모리 해제를 안해줘도 되는건가요?
(ex: User 클래스 멤버변수로 char[100] user_name; 이라는 형태로 선언했다면... 신경안써도?)
저도 궁금하네요 ^^
클래스는 일종의 "type" 일 뿐이지 선언했다고 메모리에 바로 적재되는게 아니잖냐
class 내에 char str[100]; 이 있던 뭐던 간에 중요한건 그 클래스를 new 로 할당했느냐 아니면 함수 내에 로컬로 선언했느냐 그 문제지.
(물론 로컬로 선언해도 클래스 내에서 char *str; 이 있고 생성자에서 str = new char[100]; 하는 경우는 있을 수 있어도 이건 결국 멤버 변수인 str 자체는 4바이트(i386) 이고 이 공간은 로컬에 할당되니 무효)
그리고 컴퓨터를 끄는게 아니라 그 프로세스만 꺼도 누수고 나발이고 다 없어진다. (특별한 경우를 제외하고는)