C++ 프로그래밍/클래스

객체 생성되는 것과 안 되는 것

같은편 2022. 7. 25. 17:47

객체 생성인 것(생성자 소멸자 호출됨)

Point point; //객체 생성
Point list[10]; //배열 객체 생성

객체 생성이 아닌 것(생성자 소멸자 호출안됨)

Point& q = p; //객체의 참조자는 새로운 객체를 만드는 것이 아님
Circle* pc; //객체의 포인터는 새로운 객체를 만드는 것이 아님
Point* plist[10]; //객체의 포인터 배열은 새로운 객체를 만드는 것이 아님

여기서 포인터 객체는 동적할당에 필요합니다.

  • Circle* pc = new Circle();

new 연산자는 data_type 크기의 메모리 블럭을 할당하여 그 블럭의 시작 주소를 반환합니다.
동적 생성을 하면 그때 생성자를 한번 호출합니다.