5427번 - 불
어떤 부분에서 메모리 초과가 나는지 모르겠네요... 배열 크기때문이가 싶어서 class table을 매 테스트 케이스마다 생성/ 소멸 해줬는데...
다른 테스트 케이스들은 다 잘 나옵니다... 뭐가 문제일까요..
메모리 할당은 malloc를 사용하고 있는데 메모리 반납은 delete[]를 사용하고 있습니다.
이는 잘못된 프로그램이며, C++ 표준에 의하면 이 프로그램의 결과는 정의되어 있지 않습니다. (Undefined Behavior)
한 가지 더 추가하자면, 메모리를 할당할 때 각 row를 따로 할당받았다면 메모리를 반납할 때도 각 row를 따로 반납해야 합니다.
아래와 같은 방식으로 row별 메모리 delete를 했는데도 메모리 초과가 나오네요...
제가 어디선가 메모리 접근을 잘못하고 있는걸까요..
메모리 할당도 new[] 로 하고 있나요?
말씀해 주신거 보고 앗! 하고
동적할당 malloc 으로 했으니깐 malloc으로 할당한 부분은 모두 free로 다시 메모리 해제하도록 했는데
50%에서 다시 메모리초과가 뜨네요...OTL
@bupjae 님, 계속 도움 주셔서 감사합니다...
중간에 한번 움직인 다음의 내용을 newList에 옮겨담는게 문제일수도 잇다고 생각해서 일단 그거를 바꿔보도록 할게요..
방식을 바꿔서 다시 풀었습니다....
클래스를 아예 안쓰고 다른방법으로 푸니깐 풀렸네요... 감사합니다 ...
댓글을 작성하려면 로그인해야 합니다.
mimmyum 6년 전
어떤 부분에서 메모리 초과가 나는지 모르겠네요... 배열 크기때문이가 싶어서 class table을 매 테스트 케이스마다 생성/ 소멸 해줬는데...
다른 테스트 케이스들은 다 잘 나옵니다... 뭐가 문제일까요..