지금 SDL로 횡스크롤 게임을 하나 만들고있는데


맵툴로 txt파일에 저장한 맵 데이터를 게임초기화할때 불러오려고 하거든


그래서 LoadMap이라는 클래스를 만들어서

이 클래스 안에서 txt파일의 정보를 가져오고 (맵 데이터가 얼마나 들어올지 모르니 동적할당으로 읽어들인 크기만큼 배열생성함)


그걸 이제 게임초기화할때 LoadMap클래스에 저장된 정보를 가져와서 맵을 생성하는데...


여기서 문제가 뭐냐하면


게임초기화를 할때 예를들어


클래스 게임스테이지1{

LoadMap *맵도우미;

....

....

};


게임스테이지1 :: 게임초기화()

{

맵도우미= new LoadMap();    //LoadMap 클래스 동적할당으로 생성

맵도우미 -> 맵정보로드();                        // 맵정보 로드


맵정보 = 맵도우미 -> GetMapData();    //맵정보 받아옴

맵생성(맵정보);                                            //맵생성


delete 맵도우미;                                       //LoadMap 클래스 삭제


}


이런식으로 하면 전혀 문제가 없지만


클래스 게임스테이지1{

LoadMap 맵도우미;    //LoadMap 클래스 정적할당으로 생성

....

....

};


게임스테이지1 :: 게임초기화()

{

맵도우미. 맵정보로드();


맵정보 = 맵도우미.GetMapData();    //맵정보 받아옴

맵생성(맵정보);                                            //맵생성


}


이런식으로 LoadMap클래스를 정적으로 생성하게되면

게임이 종료될때까지  LoadMap클래스가 살아있어서 불필요하게 메모리를 잡아먹잖아?


그래서 나는 LoadMap클래스를 첫번째 방법으로만 사용할 수 있도록 클래스 사용자에게 강요하고 싶은데

혹시 이런 방법이 있나해서 물어보는거야


물론 1.  두번째 방법으로 사용 사용을 안하면되고

 2. 클래스에 주석도 친절하게 달아주고

       3.  LoadMap클래스를 정적할당할때에 게임초기화() 라는 함수안에서 지역변수로 하면 문제가 전혀없지만...



혹시나 내가 만든 클래스를 비효율적으로  사용하려는 잠정적 변태 사용자들을 막고싶어서그래...


한줄요약 : C++에서 객체생성을 무조건 동적으로만 할당하게 사용자한태 강요하고싶어요 어떤방법이 있을까요??