CSE207 객체지향 강좌 및 C++ 관련, 누구나 묻고 답하는 게시판 입니다. CSE207 수강생이 아니여도 편안하게 질문하세요. 첨부화일은 이미지 화일 혹은 zip 화일로 업로드 하기를 권합니다. 제목객체를 생성할 때 정적할당과 동적할당의 차이2019-05-01 19:23작성자우미옛날부터 정적할당과 동적할당의 차이가 잘 이해가 안 되어서 질문드립니다.1. 정적할당과 동적할당의 장단점이 어떻게 되는가?- "예를 들어 정적할당은 빠르고 동적할당은 필요한 메모리의 크기를 잘 모를 때 사용한다." 이러한특징 자체는 알겠는데,그래도 구체적으로 어떨 때 정적할당을 쓰고 동적할당을 쓰는 지 잘 모르겠습니다.정해진 모범답안은 없이 개발자가 그 때 그 때적절하다고 방향대로 짜면 되는 것인가요?2. 함수 내에서 지역변수를 이용해 동적할당으로 생성된 객체의 소멸 시기.class Point{ private: int x, y; string name; public: Point(int x, int y, string name) :x(x), y(y), name(name) { cout << "Point (" << x << ", " << y << ")" << name << " constructed" << endl; } ~Point() { cout << this->name << " Point has been deletedn"; } };위와 같은 Point클래스가 있다고했을 때,A Code.void doSomething() { Point *p = new Point(0, 0, "Dynamically allocated"); }이렇게 함수내에서 동적으로 객체를 생성하고 나면 프로그램이 종료되어도 소멸자가 호출되지 않는데,B Code.Point doSomething() { Point *p = new Point(0, 0, "Dynamically allocated"); return *p;이렇게 p가 가리키는 객체를 리턴하면 프로그램이 종료될 때 소멸자가 호출 되더군요.A Code에서는 왜 소멸자가 호출되지 않는 것인가요? (소멸자의 출력문이 출력되지 않았다는 뜻) 목록수정삭제답변글쓰기 댓글 [0] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전C/C++이 무서운 언어인 이유drsungwon 2019-05-04다음[re]객체를 생성할 때 정적할당과 동적할당의 차이drsungwon 2019-05-04 Powered by MangBoard | 워드프레스 쇼핑몰 망보드