2011-08-18 4 views

답변

6

을 둘 다 기본적으로 할 같은 것. Qt 버전에는 포인터 (abcond) (QScopedPointer::take())가있어 소유권을 다른 사람에게 양도 할 수 있습니다. scoped_ptr으로는이 작업을 수행 할 수 없지만 두 가지를 서로 바꿀 수는 있습니다.

boost::scoped_ptrQScopedPointer도 명시 적으로 복사 할 수 없습니다.

QScopedPointer에는 "deleter"를 포인터에 전달할 수있는 메커니즘이 있습니다. 이것은 실제로 주어진 클래스의 공용 정적 멤버이므로 QScopedPointer은 여전히 ​​포인터 크기입니다. QScopedPointer 유형에 Deleter 유형이 포함되어야 함을 의미합니다.

둘 다 C++ 0x에서 std::unqiue_ptr으로 사용되지 않습니다.

+0

오, 그래서 std :: unqiue_ptr이 범위 포인터보다 선호 되는가? 컨테이너는 어떨까요? 두 가지 모두 같은 방식으로 작동합니까? – blueskin

+0

@blueskin : 그건 별개의 질문입니다. 따로 따로 물어보십시오. –

+0

ok .. thanks Nicol – blueskin