OpenCV 라이브러리와 함께 C++를 사용하고 있습니다.이 질문에는 해당되지 않지만 라이브러리 이미지 처리입니다. 현재 나는 디자인 결정을 내리고 있습니다. OpenCV는 C 라이브러리이므로 struct로 선언 된 데이터 구조 (예 : CvMat)가 있습니다. 그것들을 생성하기 위해서는 cvCreateMat와 같은 함수를 사용하고, 그것들을 해제하려면 c
std::auto_ptr은 VC++ 8 (우리가 직장에서 사용하는 것)에서 깨졌습니다. 저의 주요 불만은 auto_ptr<T> x = new T();을 허용한다는 것입니다. 실수로 간단하게하는 동안 무서운 충돌로 이어질 수 있습니다. 유래에 여기에 또 다른 질문에 대한 answer에서 : 비주얼 스튜디오 2005 표준 : : auto_ptr은의 구현이 끔찍
우리 모두는 RAW 포인터가 예외 안전한 메모리 관리를 얻기 위해 스마트 포인터의 일부 형식으로 래핑되어야한다는 것을 알고 있습니다. 그러나 포인터의 컨테이너에 관해서는 문제가 더욱 어려워집니다. 여전히 부스트 :: shared_ptr의 등 를 사용할 수 있지만 컨테이너가 포함 된 객체가 복사 가능한 것으로 주장 성병 그래서이, 표준 : : auto_ptr
는 예를 들어, 내가 클래스 foo에 있다고 가정하고, 일부 부스트 :: shared_ptrs를 저장하는 표준 : :지도를 사용하려면 : class foo;
typedef boost::shared_ptr<foo> foo_sp;
typeded std::map<int, foo_sp> foo_sp_map;
foo_sp_map m;
난에 새 foo_s