방금 boost::ptr_vector
을 사용하기 시작했습니다. 나는 하나의 클래스 A의 멤버로서 ptr_vector pctr
을 가지고 있고 다른 클래스 B가 pctr
의 요소를 참조하기를 원합니다. 클래스 B의 객체를 생성하는 동안 포인터를 pctr
에 저장하려고합니다.부스트 포인터 컨테이너의 요소에 대한 포인터
포인터 컨테이너는 포인터에 대한 액세스를 허용하지 않으므로 (참조에만 적용) pctr
에서 참조 주소를 가져 와서 B 유형의 객체에 저장해야합니다. 그러나 참조 주소를 가져 오는 것 같습니다. 직관력이없는. 거기에 더 나은 대안이 있습니까?
실제로 같은 문제가 있습니다. 내 이전 솔루션 (명시 적 삭제가있는 원시 포인터 벡터)으로 돌아갑니다. 바보, 정말로. – Cookie
@Cookie 사실, 지금까지 (2011) 나는 포인터 컨테이너를 많이 사용 해왔다. 나는 reference_wrapper를 사용한다. 내가 작업하고있는 프로젝트의 위키에서 이것을 설명했다 : http://sourceforge.net/apps/mediawiki/crackpot/index.php?title=Boost_Pointer_Containers –
좋은 지적, 고마워. 여유 시간을 가지면 세 가지 대안 간의 성능 비교가 좋을 것입니다. – Cookie