인프런 커뮤니티 질문&답변

김원태님의 프로필 이미지
김원태

작성한 질문수

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

오브젝트 설계 #1

오브젝트 #1번 발생 건에 대해 질문 드립니다.

해결된 질문

작성

·

291

1

강사님 안녕하세요.

 

미사일 발사 할 때 vector를 참조로 했기 때문에 문제 발생한다는 것을 이해 했습니다. 복사로 변경해야 한다는 것을

알게 되었습니다.

저는 vector<unique_ptr<Object>> 로 했는데,

unique_ptr 복사 가 delete 되어 있어서 이 때도

마찬가지고 Update 시에 문제가 발생했습니다.

(이때는 복사가 delete 되어 있어서 컴파일 에러 발생)

1) unique_ptr을 vector의 템플릿 인자로 넣어서 해결할 수 있는 방법이 있나요?

 

2) 그리고 저는 vector의 메모리 재할당 이슈로 인해서

vector 가 아닌 list에다가 unique_ptr 을 넣어서 해결했는데, 이렇게 해도 무관한 거겠죠?

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

그냥 설계적으로 일반 Object를 unique_ptr로 하시면 안 되고
shared_ptr로 해주셔야 합니다.
따라서 2라고 좋은 해결책은 아닙니다.

김원태님의 프로필 이미지
김원태
질문자

네 답변주셔서 감사드립니다.

김원태님의 프로필 이미지
김원태

작성한 질문수

질문하기