사용 가능한 C 스마트 포인터 구현 및 비교 C 03 std::auto_ptr: 향후 C 표준에서는 더 이상 사용되지 않습니다. 제한된 가비지 수집, 소유권 문제 및 STL 컨테이너에서의 사용 불가. std::auto_ptr_ref: 진정한 스마트 포인터가 아닙니다. 복사 및 할당을 허용하기 위해 std::auto_ptr과 함께 사용됩니다. C 11 std::unique_ptr: std::auto_ptr을 대체합니다. std::auto_ptr의 약점을 수정하여 배열 작업, lvalue 보호 및 STL 컨테이너에서의 사용을 허용합니다. std::shared_ptr: 참조 계산 스마트 포인터. 앨리어싱 및 포인터 연산을 지원합니다. std::weak_ptr: std::shared_ptr이 소유한 객체에 대한 비소유 참조입니다. 무기한 순환 참조 카운트를 방지합니다. Boost boost::shared_ptr: 인기 있는 공유 참조 카운트 스마트 포인터입니다. 높은 성능과 다양성. boost::weak_ptr: Boost::shared_ptr에 대한 비소유 참조. boost::scoped_ptr: Boost::shared_ptr에 대한 간단한 스마트 포인터 대안 오버헤드. boost::intrusive_ptr: 자신만의 스마트 포인터 호환 클래스를 생성하기 위한 사용자 정의 스마트 포인터. boost::shared_array: 공유 스마트 포인터 배열. boost::scoped_array: 복사할 수 없는 배열용 스마트 포인터. Qt QPointer: 약한 스마트 포인터 QObject 및 파생 클래스. 더 이상 사용되지 않습니다. QSharedDataPointer: 스레드 안전성을 갖춘 Boost::intrusive_ptr과 비교할 수 있는 강력한 스마트 포인터. QExplicitlySharedDataPointer: 향상된 QSharedDataPointer 버전 2.0 통제하다 분리. QSharedPointer: 원자 참조 카운팅, 스레드 안전, 공유 가능 스마트 포인터. QWeakPointer: QSharedPointer. QScopedPointer: Boost::scoped_ptr 기반의 단일 소유자 스마트 포인터로 예외로부터 안전한 코드 및 호환성에 적합합니다.