SGI's doc on associative containers에 따르면, "요소는 키에 따라 저장되므로 각 요소와 관련된 키는 변경 불가능합니다". 때때로 포인터를 std :: map의 키로 사용합니다. 포인터가있는 객체가 변경 될 수는 있지만 포인터 자체는 일정하기 때문입니다.QPointer를 std :: map의 키로 사용할 수 있습니까
QPointer는 기술적으로 포인터를 모방 한 개체이며 Qt's doc은 포인터와 똑같은 QPointers를 사용할 수 있다고 말합니다. QPointer 객체 자체는 실행 중에 변경 될 수 있기 때문에 std :: map 컨테이너의 키로 사용할 수 있습니까?
편집 1 : QMap을 사용할 수 없으며 std :: map을 사용해야합니다.
편집 2 : QPointer를 사용할 때 코드가 컴파일됩니다. 문제는 런타임에 불쾌한 놀라움을 기대해야하는지에 관한 것입니다.
관련 : [? 주문 STL 컨테이너의 키로서 허용 포인터가 있습니까 (http://stackoverflow.com/questions/4913161/) –