Language/C++
객체 포인터 배열
Triany
2011. 3. 4. 23:56
객체 포인터 배열 : 객체를 가리킬 수 있는 포인터로 구성이 되어 있는 배열
예제(new와 delete를 이용해서 어떻게 객체를 동적으로 생성 및 소멸하는지 알게 될것.)
#include <iostream> class Point{ int main() for(int i=0; i<5; i++) |
"new Point(i*2, i*3)"의 의미
:i*2와 i*3을 인자로 받을 수 있는 Point 클래스의 생성자를 호출하면서, Point 객체를 생성하라
=> 힙 영역에 생성. 생성된 객체의 주소 값이 Point*(Point 클래스의 포인터)형으로 반환될 것.
C에서 사용한 malloc 함수를 이용해서 객체 생성을 할 수 있을까? 없다!!
malloc 함수는 함수 호출 시 전달되는 인자만큼 단순히 메모리 공간만 할당하는 함수이기 때문이다. 즉 객체의 크기만큼 메모리 공간을 할당할 수는 있을 지라도, 생성자 호출은 이뤄지지 않는다. C++에서 이야기하는 객체의 조건을 만족시키려면, 생성자 호출은 반드시 이뤄져야 한다.
malloc 함수는 함수 호출 시 전달되는 인자만큼 단순히 메모리 공간만 할당하는 함수이기 때문이다. 즉 객체의 크기만큼 메모리 공간을 할당할 수는 있을 지라도, 생성자 호출은 이뤄지지 않는다. C++에서 이야기하는 객체의 조건을 만족시키려면, 생성자 호출은 반드시 이뤄져야 한다.