문제

이것은 사소해야하지만 그것을 찾을 수없는 것 같습니다 (그러한 수업이 존재하지 않는 한!)

스마트 포인터의 STL 클래스 (또는 클래스 세트)는 무엇입니까?

업데이트

응답에 감사드립니다.
표준 구현이 없다는 것에 놀랐습니다.

나는 이것을 사용하게되었다 : http://archive.gamedev.net/reference/articles/article1060.asp

도움이 되었습니까?

해결책

이미 언급 된 TR1 Shared_PTR을 제외하고 STL에는 참조 카운트 포인터가 없습니다.

boost :: shared_ptr을 사용하는 것이 좋습니다 (다운로드 Boost는 충분할 것이고 컴파일 할 것이 없으며 구현은 헤더 전용)입니다.

Loki 라이브러리의 스마트 포인터 (헤더 전용 구현)의 스마트 포인터를 살펴볼 수도 있습니다.

사용 가능한 스마트 포인터에 대한 개요는 참조하십시오 거기.

다른 팁

부스트를 원하지 않거나 사용할 수없는 경우 그리고 컴파일러가 구현됩니다 TR1, 당신이 사용할 수있는 shared_ptr (부스트에서 빌린) :

#include <tr1/memory>

...

std::tr1::shared_ptr<Foo> ptr(new Foo);

그렇지 않으면 아니요, 제외하고는 스마트 포인터가 없습니다. std::auto_ptr 바닐라 stl에서.

C ++ 11에서 시간이 행진합니다.

std::shared_ptr
std::weak_ptr

등.

COM 객체의 경우 사용하십시오 ccomptr <>.

STL Plus에서 한동안 구현 된 대안이 있습니다. 소스 포지

"STLplus was originally intended as a library to extend the STL by providing missing container data structures such as smart-pointers, matrices, trees and graphs."

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top