가독성의 차이: *의 유무, . 과 ->의 차이.
그보다는 전자는 기본 생성자가 없다면 사용할 수 없다는 점, 포인터를 거치지 않은 배열로는 오브젝트의 다형성을 처리할 수 없다는 점,
중간에 새로운 오브젝트를 추가하거나 삭제할 경우 전자는 뒷 쪽의 오브젝트 전체를 복사해야 하지만 후자는 포인터만 복사하면 된다는 점 등등의 차이점이 있겠네요.
내장타입이나 간단한 구조체가 아닌 이상에는 직접 배열로 사용하기 보다는 포인터 배열을 잡고 각각 할당해 쓰시는 편이 낫습니다.
(그보다는 vector와 boost의 shared_ptr 등을 사용하시는게 더욱 간결하겠지요)
그보다는 전자는 기본 생성자가 없다면 사용할 수 없다는 점, 포인터를 거치지 않은 배열로는 오브젝트의 다형성을 처리할 수 없다는 점,
중간에 새로운 오브젝트를 추가하거나 삭제할 경우 전자는 뒷 쪽의 오브젝트 전체를 복사해야 하지만 후자는 포인터만 복사하면 된다는 점 등등의 차이점이 있겠네요.
내장타입이나 간단한 구조체가 아닌 이상에는 직접 배열로 사용하기 보다는 포인터 배열을 잡고 각각 할당해 쓰시는 편이 낫습니다.
(그보다는 vector와 boost의 shared_ptr 등을 사용하시는게 더욱 간결하겠지요)
Heap 메모리 관리야 OS에 따라 달라질 수 있으니 정확한 작동을 설명드리긴 무리가 있겠네요.
개략적인 내용은 http://www.gpgstudy.com/forum/viewtopic.php?t=10955 를 참조하세요.