예전 혼자서 게임프로그래밍 포폴만들때
인스턴스가 여러개 생겼다 사라지는 물체를 그릴때
해당 객체 클래스 인스턴스를 한꺼번에 여러개 만들어두고
그안에서 할당해제가 이루어지고 프로그램종료시에 실제 메모리해제를
하는 식으로 짜넣었거든요..
그러니까 stl로 치면 vector에 포인터아니고 인스턴스가 담겨지도록하고
resize함수를 먼저쓰고 사용하는 식이죠..
궁금한게 뭐냐하면
stl에 객체에 인스턴스를 안넣고 인터페이스같은 상위클래스의 포인터를 담겨지도록하고
단일vector에 여러가지종류의 객체 인스턴스를 담아놓고
그 인스턴스들을 가리키도록 할 수 있나요?
넴
감사
모든 클래스가 공통적으로 상속받는 조상 클래스에서 클래스 정보를 가지고 있거나 가상 메서드로 캐스트 함수를 제공해 주거나 뭐 여러 방법으로 짤 수 있을 듯
바빠서 대충 읽었는데 다시 보니 객체 풀 이야기였네. 이야기해 준 그대로 짜기는 좀 어려울 것 같은데.
시작은 객체 풀인데 뒤는 그냥 개체간의 공유 리소스 이야긴것 같은데.
클래스와 멤버 데이타, 멤버 함수간의 관계를 잘 이해하고 있다면, 당연히 함수는 공유되는거고, 생성된 객체( = 개체 = 인스턴스) 가 별도로 움직이고 상태를 갖자면 고유의 데이타가 필요한거고, 풀에 넣고 공유할 수 있는건 리소스 정도지.
모션이나 그래픽 리소스, 효과음, 기획에 따라서 그림자나 스프라이트를 만든 배경맵 정도 말고 공유할게 있나?
음... 객체풀인데요. 예전에 짜본게 여러종류별로 나눠쓰니까 목적이 같은 함수가 많아지고 구현위주로 치우치는거 같아서 인터페이스같은 추상화된 클래스로 관리하면 어떨까 하고 그냥 생각해본거에요. 열분들 답변 감사합니다. ^^;
아 궁금한게 또 생겼는데, 게임만들때 이벤트가 막 많아지잖아요.. 그럼 객체생성삭제도 빈번할텐데 이벤트객체도 풀로 만들어서 관리하나요?