윗댓말대로 C++에선 delete 따로 안해주면 반납이고 뭐고 없음. 저 코드대로면 프로그램 돌아가는 내내 동적할당 하다가 메모리 모지라면 죽겠지 아마? 물론 프로그램이 종료되면 운영체제가 해당 프로세스에서 할당했던 메모리 다 회수하긴 함.
익명(121.135)2023-01-08 20:38
답글
홍정모 따배씨 듣고 있는데 Static memory allocation / 자동 메모리 할당 (블록 밖으로 나가면 전부 사라지고 os로 할당이 댄다)/ 동적 메모리 할당 이렇게 세가지 종류가 있다는데 - dc App
익명(223.38)2023-01-08 20:46
답글
이 코드에서 메모리 할당은 두번째꺼로 적용되는게 아닌가요? - dc App
익명(223.38)2023-01-08 20:47
답글
뉴로 할당하는건 동적 메모리 할당이고 맨 처음꺼는 정적변수나 전역변수, 가운데꺼가 로컬변수랑 함수의 매개변수임
익명(121.135)2023-01-08 20:47
답글
C++의 new나 C의 calloc, malloc으로 할당되는 메모리는 모두 동적 메모리 할당임.
익명(121.135)2023-01-08 20:48
답글
아 그럼 저 코드는 int *ptr = new int라고 먼저 동적으로 선언했기 때문이 없애기 전까지 안사라지는거고 그냥 int a로 선언했으면 자동 메모리 할당으로 for문 돌때마다 사라지는거 맞나요? - dc App
익명(223.38)2023-01-08 20:49
답글
맞음. 그냥 선언한 경우는 지역변수이기 때문에 프로그램 제어가 해당 변수가 선언된 스코프 밖으로 넘어가게 되면 자동으로 해당 메모리가 반납됨. 자동 메모리 할당과 동적 메모리 할당을 스택 메모리 할당, 힙 메머리 할당이라고도 표현하는데 나중에 스택 프레임에 대해서 공부하면 왜 자동인지 알게 될거임
delete ptr; 해야지 사라지고 계속남음 - dc App
윗댓말대로 C++에선 delete 따로 안해주면 반납이고 뭐고 없음. 저 코드대로면 프로그램 돌아가는 내내 동적할당 하다가 메모리 모지라면 죽겠지 아마? 물론 프로그램이 종료되면 운영체제가 해당 프로세스에서 할당했던 메모리 다 회수하긴 함.
홍정모 따배씨 듣고 있는데 Static memory allocation / 자동 메모리 할당 (블록 밖으로 나가면 전부 사라지고 os로 할당이 댄다)/ 동적 메모리 할당 이렇게 세가지 종류가 있다는데 - dc App
이 코드에서 메모리 할당은 두번째꺼로 적용되는게 아닌가요? - dc App
뉴로 할당하는건 동적 메모리 할당이고 맨 처음꺼는 정적변수나 전역변수, 가운데꺼가 로컬변수랑 함수의 매개변수임
C++의 new나 C의 calloc, malloc으로 할당되는 메모리는 모두 동적 메모리 할당임.
아 그럼 저 코드는 int *ptr = new int라고 먼저 동적으로 선언했기 때문이 없애기 전까지 안사라지는거고 그냥 int a로 선언했으면 자동 메모리 할당으로 for문 돌때마다 사라지는거 맞나요? - dc App
맞음. 그냥 선언한 경우는 지역변수이기 때문에 프로그램 제어가 해당 변수가 선언된 스코프 밖으로 넘어가게 되면 자동으로 해당 메모리가 반납됨. 자동 메모리 할당과 동적 메모리 할당을 스택 메모리 할당, 힙 메머리 할당이라고도 표현하는데 나중에 스택 프레임에 대해서 공부하면 왜 자동인지 알게 될거임
감사합니다 고수형님!! 열씨미 공부하게씀니다 - dc App
화이팅!!